我正在将我的云解决方案迁移到 cdk。我可以看到如何通过 TableProps 在构造函数中将流添加到新的 DynamoDB:
const newTable = new dynamodb.Table(this, 'new Table', {
tableName: 'streaming',
partitionKey: { name : 'id', type: dynamodb.AttributeType.NUMBER },
stream: StreamViewType.NEW_AND_OLD_IMAGES,
})
Run Code Online (Sandbox Code Playgroud)
但没有明显的方法可以在现有 DynamoDB 上启用流。我似乎无法访问现有项目上的 TableProps。
const sandpitTable = dynamodb.Table.fromTableArn(this, 'sandpitTable', 'arn:aws:dynamodb:ap-southeast-2:xxxxxxxxxxxxxx:table/Sandpit');
sandpitTable.grantStreamRead(streamLambda);
// sandpitTable. ??? what to do?
Run Code Online (Sandbox Code Playgroud)
如何才能实现这一目标?该解决方案如何考虑灾难恢复并防止使用控制台时不可能发生的 Dynamo DB 意外删除。