我正在将云解决方案迁移到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,
})
但是没有明显的方法在现有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?
如何做到这一点?以及该解决方案如何考虑灾难恢复并防止意外删除Dynamo DB,而这在使用控制台时是不可能的。
启用流只是CloudFormation中资源'AWS :: DynamoDB :: Table'的另一个属性,我不相信我们可以更改从另一个cloudformation / cdk堆栈(或手动)中创建的资源。
关于防止意外删除的其他问题,我们可以简单地添加删除策略,以避免在删除堆栈/资源时删除发电机表。
removalPolicy: RemovalPolicy.RETAIN
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句