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)}, )
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)})
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()
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