Amazon web services 如何抢救受损的AWS扩建工程

Amazon web services 如何抢救受损的AWS扩建工程,amazon-web-services,amazon-dynamodb,amazon-cloudformation,aws-amplify,Amazon Web Services,Amazon Dynamodb,Amazon Cloudformation,Aws Amplify,我已经开始了一个amplify项目并创建了react应用程序,并且已经通过了身份验证 安装步骤没有问题 然后,我尝试添加一个RESTAPI端点,该端点允许我在DynamoDB中发布/放置一条记录。这也是开箱即用的 然而,我意识到我需要更改一些dynamodb字段的名称。我所做的更改只是重命名字段,如下面的diff(fromamplify/backend/storage/mytable/parameters.json): 此更改虽然很小,但导致后续的放大推送尝试失败,并出现以下错误: UPDATE

我已经开始了一个amplify项目并创建了react应用程序,并且已经通过了身份验证 安装步骤没有问题

然后,我尝试添加一个RESTAPI端点,该端点允许我在DynamoDB中发布/放置一条记录。这也是开箱即用的

然而,我意识到我需要更改一些dynamodb字段的名称。我所做的更改只是重命名字段,如下面的diff(from
amplify/backend/storage/mytable/parameters.json
):

此更改虽然很小,但导致后续的
放大推送尝试失败,并出现以下错误:

UPDATE_FAILED               DynamoDBTable                                                       AWS::DynamoDB::Table       Tue Mar 05 2019 16:36:25 GMT-0600 (CST) CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename mytable-dev and update the stack again.
然后我(愚蠢地,我知道)删除了与此资源相关的cloudformation堆栈,认为这将允许我从头开始重新创建它:

aws cloudformation delete-stack --stack-name ${DYNAMODB_STACK_NAME}
但是,我仍然无法
放大推送
,因为现在我收到了以下错误:

UPDATE_FAILED      storagefactUserCellState AWS::CloudFormation::Stack Tue Mar 05 2019 16:40:20 GMT-0600 (CST) Stack:arn:aws:cloudformation:us-east-2:... is in DELETE_COMPLETE state and can not be updated.
我有两个问题:

  • 有没有一种方法可以挽救这个项目(通过允许我创建dynamodb表),而不必从头开始重新创建所有内容?我将尝试这种方法,但这似乎是一件艰难的事情

  • 执行这些类型的表定制/更改的最佳实践方法是什么,以便我将来不会遇到此类问题?我想我只是做错了,因为我已经习惯了k8s的世界,在这个世界里,将yaml文件放在git下并使用
    kubectl apply
    就足以从大多数错误中恢复过来,但是很多放大文件都是
    .gitignore
    d,云资源看起来更脆弱,因此,我不知道如何在这个生态系统中使事物健壮和安全


  • 我也有同样的问题。两次!:-)我在Amplify方面也没有什么经验,幸运的是在Cloudformation方面有更多的经验。解决这个问题并创建一个解决方案是我的首要任务。Amplify似乎只能更新堆栈,而不能重新创建它们。所以,对我来说,这只是快速引导的好方法。之后,您将提取Cloudformation模板并手动维护它。
    UPDATE_FAILED      storagefactUserCellState AWS::CloudFormation::Stack Tue Mar 05 2019 16:40:20 GMT-0600 (CST) Stack:arn:aws:cloudformation:us-east-2:... is in DELETE_COMPLETE state and can not be updated.