Amazon cloudformation AWS Amplify:如何重新创建手动删除的云信息堆栈

Amazon cloudformation AWS Amplify:如何重新创建手动删除的云信息堆栈,amazon-cloudformation,aws-amplify,Amazon Cloudformation,Aws Amplify,在研讨会之后,我构建了一个放大示例应用程序。 之后,我从AWS控制台手动删除了CloudFormation堆栈-选择了根堆栈,并执行了删除堆栈操作,希望可以使用放大推送重建它们。不幸的是,amplify报告没有更改,也不重建堆栈。有没有办法强制amplify提供资源?amplify cli检查项目中amplify/current cloud backend和amplify/backend文件夹之间的差异。它不会检查云中当前部署的内容 因为您已经删除了根堆栈,所以即使有任何更改要推送,也会因为堆栈

在研讨会之后,我构建了一个放大示例应用程序。
之后,我从AWS控制台手动删除了CloudFormation堆栈-选择了根堆栈,并执行了删除堆栈操作,希望可以使用放大推送重建它们。不幸的是,amplify报告没有更改,也不重建堆栈。有没有办法强制amplify提供资源?

amplify cli检查项目中amplify/current cloud backend和amplify/backend文件夹之间的差异。它不会检查云中当前部署的内容

因为您已经删除了根堆栈,所以即使有任何更改要推送,也会因为堆栈丢失而失败。要从该错误中恢复,您可以运行amplify init,并在被询问是否要使用现有环境时执行此操作?选择否。这将重新创建根堆栈,并允许您推送更改


PS:amplify cli版本1及更高版本中提供了多环境支持。如果其pre v1 init命令不起作用

如果删除其他资源所依赖的函数或API,则可能导致推送失败。所以我通常做的是重新创建相同的函数或API,然后再次推送它。这是我使用的临时破解,但我认为可能会有更好的。

您是否删除了数据库表等资源,或者更改了堆栈文件中的内容?你可以详细删除CloudFormation堆栈。谢谢你的建议,我编辑了我的问题。我从控制台中删除了根堆栈。据我所知,DynamoDB表、ElasticSearch等所有资源都超出了仍然存在的S3存储桶。您的案例看起来与这里的问题类似:。如果您同意,您可能需要amplify init并将以前的amplify/current cloud后端复制到新创建的后端文件中。感谢您向我指出github上的问题。看起来确实是同一个问题。不幸的是,建议的解决方案不起作用。也有点不清楚我应该在哪个项目中尝试扩大推动。无论如何,它在旧项目中抛出一个错误,在新项目中检测不到任何更改。我将试图进一步澄清你提出的问题。再次感谢!谢谢你的帖子。我知道我需要在app文件夹中运行放大初始化。当被问及我应该提供相同的环境名称还是其他名称时?我正在运行版本1.1.7,所以应该可以。如果需要,可以提供相同的名称。环境名称needs仅用于projects放大/team-provider-info.json文件中的。确保在再次运行初始化之前删除/放大文件夹。我已删除包含当前云后端和后端文件夹的/amplify文件夹。然后在我的应用程序目录的根目录中,我运行了amplify init,并成功地重新创建了我以前删除的/amplify文件夹。它还创建了根堆栈。不幸的是,在运行amplify init之后,我没有收到任何检测到的更改消息。我想我会放弃挽救这个项目的进一步努力。再次感谢您的投入!