![](/img/trans.png)
[英]Does Kinesis Client Library consumer support AT_TIMESTAMP as a starting position when using Dynamodb streams kinesis adapter
[英]Make DynamoDB table a consumer for Kinesis Data Stream using CDK
我想在 Kinesis Data Stream 上启用增强型扇出,并使用 CDK 使 DynamoDB 成为消费者。 我发现CfnStreamConsumer构造可以使用 Kinesis 数据 stream 注册消费者,但我不知道如何连接 dynamodb 表,因为该构造只接受 kinesis stream arn。
我看过有人将 CfnStreamConsumer 与EventSourceMapping一起使用的帖子,但目标是 lambda。
有谁知道如何使 DynamoDB 表成为 Kinesis Data Stream 的使用者?
代码:
const eventStream = new kinesis.Stream(...)
new dynamoDb.Table(this, 'table', {
tableName: `event-lease`,
billingMode: dynamoDb.BillingMode.PROVISIONED,
readCapacity: 10,
writeCapacity: 10,
partitionKey: { name: 'leaseKey', type: dynamoDb.AttributeType.STRING }
});
const streamConsumer = new kinesis.CfnStreamConsumer(this, 'stream-consumer', {
consumerName: `event-lease`,
streamArn: eventStream.streamArn
});
const kinesisConsumerPolicyStmt = new PolicyStatement({
resources: [streamConsumer.attrConsumerArn],
actions: ['kinesis:SubscribeToShard'],
});
DynamoDB 不能是 Kinesis Data Stream 的消费者,它只能是生产者。
如果您希望您的事件进入 DynamoDB,那么您应该从 stream 到 Lambda 并从那里插入事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.