我正在使用CloudFormation构建AWS::DynamoDB::Table
资源,并且我将DeletionPolicy
设置为Retain
。假设我对此逻辑资源的AttributeDefinitions
属性进行了更改,例如重命名哈希键,然后执行CloudFormation update_stack
;这种变化需要“替换”资源。到现在为止还挺好;我希望现有的DynamoDB表被“删除”,并且使用更改的键定义在其位置创建一个新表。
然而,由于DeletionPolicy
,原始表格并未“落后”,我感到很惊讶。当然,可以通过堆栈策略完全阻止更新,但是我希望DeletionPolicy会导致现在已经不存在的表从CloudFormation堆栈中弹出,并且会出现一个新的表,但实际上并不是这样。删除。
这是预期的行为吗?
答案 0 :(得分:6)
是的,这是预期的行为。
DeletionPolicy
仅在您实际删除整个CloudFormation堆栈时应用。
如果要在更新期间保留以前的DynamoDB表,则需要事先手动备份。您可以使用AWS Data Pipeline在Amazon S3上备份DynamoDB表。
答案 1 :(得分:0)
使用AWS属性“ UpdateReplacePolicy:保留”。