Amazon web services 如何一次从CloudFormation中删除多个全局二级索引?

Amazon web services 如何一次从CloudFormation中删除多个全局二级索引?,amazon-web-services,amazon-dynamodb,amazon-cloudformation,Amazon Web Services,Amazon Dynamodb,Amazon Cloudformation,我在CloudFormation模板中描述了许多全局二级索引。 当我尝试删除多个GSI时,出现以下错误:“发生错误:TodosDynamoDbTable-无法在一次更新中执行多个GSI创建或删除。” 如何一次从模板中删除多个GSI?也许我可以从表中手动删除它们,然后执行模板更新,或者我可以使用一些属性(如“DependsOn”)?不幸的是,这是不可能的,至少现在不行。您必须多次更新堆栈,一次删除一个。如迈尔斯所述,目前无法将标准CloudFormation模板与DynamoDB资源一起使用。 但

我在CloudFormation模板中描述了许多全局二级索引。 当我尝试删除多个GSI时,出现以下错误:“发生错误:TodosDynamoDbTable-无法在一次更新中执行多个GSI创建或删除。”


如何一次从模板中删除多个GSI?也许我可以从表中手动删除它们,然后执行模板更新,或者我可以使用一些属性(如“DependsOn”)?

不幸的是,这是不可能的,至少现在不行。您必须多次更新堆栈,一次删除一个。

如迈尔斯所述,目前无法将标准CloudFormation模板与DynamoDB资源一起使用。
但是,您可以在CloudFormation中创建一个自定义资源,该资源触发一个Lambda,该Lambda可以根据您的功能请求创建/更新/删除GSI:堆栈应该如何更新多次?比如说,经过数月的工作投入生产后,发布了一个巨大的版本。我们使用的是无服务器框架。因此,我们可能已经准备好了使用这些多个GSI的所有代码。如何编辑此代码以一次创建1个GSI?如果我删除了一个GSI,但它正在查询中使用,部署不会中断吗?或者我们可以在查询中保留GSI名称,但在查询之后创建它?