Amazon dynamodb 为什么';CloudFormation中的Retain deletion策略是否保留更改的DynamoDB表?

Amazon dynamodb 为什么';CloudFormation中的Retain deletion策略是否保留更改的DynamoDB表?,amazon-dynamodb,amazon-cloudformation,Amazon Dynamodb,Amazon Cloudformation,我正在使用CloudFormation构建一个AWS::DynamoDB::Table资源,并将我的DeletionPolicy设置为Retain。假设我更改了此逻辑资源的AttributeDefinitions属性,例如重命名哈希键,然后执行CloudFormationupdate_stack;这种改变需要“替换”资源。到现在为止,一直都还不错;我希望现有的DynamoDB表被“删除”,并使用更改的键定义在其位置创建一个新的DynamoDB表 然而,我感到惊讶的是,原始表并没有因为Deleti

我正在使用CloudFormation构建一个
AWS::DynamoDB::Table
资源,并将我的
DeletionPolicy
设置为
Retain
。假设我更改了此逻辑资源的
AttributeDefinitions
属性,例如重命名哈希键,然后执行CloudFormation
update_stack
;这种改变需要“替换”资源。到现在为止,一直都还不错;我希望现有的DynamoDB表被“删除”,并使用更改的键定义在其位置创建一个新的DynamoDB表

然而,我感到惊讶的是,原始表并没有因为
DeletionPolicy
而“落后”。当然,完全可以通过堆栈策略阻止更新,但我希望DeletionPolicy会导致现在已不存在的表从CloudFormation堆栈中弹出,并在其位置出现一个新表,但不会实际删除


这是预期的行为吗?

是的,这是预期的行为。
DeletionPolicy
仅在实际删除整个CloudFormation堆栈时应用。 如果您想在更新过程中保留以前的DynamoDB表,则需要事先手动备份。您可以使用AWS数据管道在Amazon S3上备份DynamoDB表。

使用AWS属性“UpdateReplacePolicy:Retain”