Using cloudformation I want to connect a Kinesis Stream directly to a DynamoDB table. It looks like the way to do this is with a StreamConsumer. The cloudformation script below gives me this error:
Value 'kinesisstreamtodynamodb' at 'streamARN' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:aws.*:kinesis:.*:\d{12}:stream/.+ (Service: AmazonKinesis
It doesn't like the StreamARN: !Ref KinesisSTream property.
I will probably change this configuration to use a lambda between the kinesis stream and dynamodb table, but for now I would like to get this configuration working.
What am I doing wrong when it comes to connection a kinesis stream to a dynamodb table?
KinesisStream:
Type: AWS::Kinesis::Stream
Properties:
Name: kinesisstreamtodynamodb
ShardCount: 1
DynamoTable:
Type: AWS::DynamoDB::Table
Description: streaming data from kinesis
Properties:
TableName: Kinesis-DynamoTable
AttributeDefinitions:
- AttributeName: "timestamp"
AttributeType: "S"
- AttributeName: "logmessage"
AttributeType: "S"
KeySchema:
- AttributeName: "timestamp"
KeyType: "HASH"
- AttributeName: "logmessage"
KeyType: "RANGE"
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
StreamConsumer:
Type: "AWS::Kinesis::StreamConsumer"
Properties:
StreamARN: !Ref 'KinesisStream'
ConsumerName: !Ref 'DynamoTable'