Ejemplo n.º 1
0
def add_dynamodb_stream(
    table_name, latest_stream_label=None, view_type=StreamViewType.NEW_AND_OLD_IMAGES, enabled=True
):
    if enabled:
        region = DynamoDBStreamsBackend.get()
        # create kinesis stream as a backend
        stream_name = get_kinesis_stream_name(table_name)
        aws_stack.create_kinesis_stream(stream_name)
        latest_stream_label = latest_stream_label or "latest"
        stream = {
            "StreamArn": aws_stack.dynamodb_stream_arn(
                table_name=table_name, latest_stream_label=latest_stream_label
            ),
            "TableName": table_name,
            "StreamLabel": latest_stream_label,
            "StreamStatus": StreamStatus.ENABLING,
            "KeySchema": [],
            "Shards": [],
            "StreamViewType": view_type,
            "shards_id_map": {},
        }
        region.ddb_streams[table_name] = stream
        # record event
        event_publisher.fire_event(
            event_publisher.EVENT_DYNAMODB_CREATE_STREAM,
            payload={"n": event_publisher.get_hash(table_name)},
        )
Ejemplo n.º 2
0
def add_dynamodb_stream(table_name,
                        latest_stream_label=None,
                        view_type='NEW_AND_OLD_IMAGES',
                        enabled=True):
    if enabled:
        # create kinesis stream as a backend
        stream_name = get_kinesis_stream_name(table_name)
        aws_stack.create_kinesis_stream(stream_name)
        latest_stream_label = latest_stream_label or 'latest'
        stream = {
            'StreamArn':
            aws_stack.dynamodb_stream_arn(
                table_name=table_name,
                latest_stream_label=latest_stream_label),
            'TableName':
            table_name,
            'StreamLabel':
            latest_stream_label,
            'StreamStatus':
            'ENABLED',
            'KeySchema': [],
            'Shards': []
        }
        table_arn = aws_stack.dynamodb_table_arn(table_name)
        DDB_STREAMS[table_arn] = stream
        # record event
        event_publisher.fire_event(
            event_publisher.EVENT_DYNAMODB_CREATE_STREAM,
            payload={'n': event_publisher.get_hash(table_name)})
Ejemplo n.º 3
0
def add_dynamodb_stream(table_name,
                        latest_stream_label=None,
                        view_type="NEW_AND_OLD_IMAGES",
                        enabled=True):
    if enabled:
        # create kinesis stream as a backend
        stream_name = get_kinesis_stream_name(table_name)
        aws_stack.create_kinesis_stream(stream_name)
        latest_stream_label = latest_stream_label or "latest"
        stream = {
            "StreamArn":
            aws_stack.dynamodb_stream_arn(
                table_name=table_name,
                latest_stream_label=latest_stream_label),
            "TableName":
            table_name,
            "StreamLabel":
            latest_stream_label,
            "StreamStatus":
            "ENABLED",
            "KeySchema": [],
            "Shards": [],
            "StreamViewType":
            view_type,
        }
        table_arn = aws_stack.dynamodb_table_arn(table_name)
        DDB_STREAMS[table_arn] = stream
        # record event
        event_publisher.fire_event(
            event_publisher.EVENT_DYNAMODB_CREATE_STREAM,
            payload={"n": event_publisher.get_hash(table_name)},
        )
 def DynamoDB2_Table_get_cfn_attribute(self, attribute_name):
     if attribute_name == 'Arn':
         return aws_stack.dynamodb_table_arn(table_name=self.name)
     elif attribute_name == 'StreamArn':
         if (self.stream_specification or {}).get('StreamEnabled'):
             return aws_stack.dynamodb_stream_arn(self.name, 'latest')
         return None
     raise UnformattedGetAttTemplateException()
Ejemplo n.º 5
0
def add_dynamodb_stream(table_name, view_type='NEW_AND_OLD_IMAGES', enabled=True):
    if enabled:
        stream = {
            'StreamArn': aws_stack.dynamodb_stream_arn(table_name=table_name),
            'TableName': table_name,
            'StreamLabel': 'TODO'
        }
        DDB_STREAMS.append(stream)
Ejemplo n.º 6
0
def add_dynamodb_stream(table_name, view_type='NEW_AND_OLD_IMAGES', enabled=True):
    if enabled:
        stream = {
            'StreamArn': aws_stack.dynamodb_stream_arn(table_name=table_name),
            'TableName': table_name,
            'StreamLabel': 'TODO'
        }
        DDB_STREAMS.append(stream)
def add_dynamodb_stream(table_name, view_type='NEW_AND_OLD_IMAGES', enabled=True):
    if enabled:
        # create kinesis stream as a backend
        stream_name = get_kinesis_stream_name(table_name)
        aws_stack.create_kinesis_stream(stream_name)
        stream = {
            'StreamArn': aws_stack.dynamodb_stream_arn(table_name=table_name),
            'TableName': table_name,
            'StreamLabel': 'TODO',
            'StreamStatus': 'ENABLED',
            'KeySchema': [],
            'Shards': []
        }
        table_arn = aws_stack.dynamodb_table_arn(table_name)
        DDB_STREAMS[table_arn] = stream
Ejemplo n.º 8
0
def add_dynamodb_stream(table_name, view_type='NEW_AND_OLD_IMAGES', enabled=True):
    if enabled:
        # create kinesis stream as a backend
        stream_name = get_kinesis_stream_name(table_name)
        aws_stack.create_kinesis_stream(stream_name)
        stream = {
            'StreamArn': aws_stack.dynamodb_stream_arn(table_name=table_name),
            'TableName': table_name,
            'StreamLabel': 'TODO',
            'StreamStatus': 'ENABLED',
            'KeySchema': [],
            'Shards': []
        }
        table_arn = aws_stack.dynamodb_table_arn(table_name)
        DDB_STREAMS[table_arn] = stream