AWS Amplify:当资源已被部分删除时,如何删除环境?

时间:2019-03-14 08:42:35

标签: amazon-web-services amazon-cognito aws-appsync aws-amplify amazon-cloudfront

TL; DR::在控制台中手动删除了服务的某些资源后,如何删除放大环境?

因此,我上了一堂蛋蛋课程来学习aws amplify CLI。不幸的是,它没有教您如何删除环境(但是,它很棒!)。然后我的Google搜索说您将必须手动删除资源。我尝试(/做过)我所使用的资源。我删除了CLI的用户帐户(‍♂️),“删除了”认知用户池(它仍显示在amplify status中),删除了DynamoDB和AppSync API(也仍然显示)。

现在,当我运行amplify status时,我得到了:

| Category | Resource name   | Operation | Provider plugin   |
| -------- | --------------- | --------- | ----------------- |
| Auth     | cognito559c5953 | No Change | awscloudformation |
| Api      | AmplifyTodoApp  | No Change | awscloudformation |

我想知道-因为我以为我删除了它们-它们仍然存在吗?

所以我用Google搜索了更多。现在事实证明,还有一个命令amplify delete会自动删除与您的扩增项目关联的所有资源。由于我删除了用于该项目的帐户,因此该命令将引发:

The security token included in the request is invalid.

有什么办法可以在没有用户的情况下删除这些资源?这些资源是否仍然在线(因为我手动删除了它们,并且它们没有在线显示在控制台中-即使在CloudFront控制台中)?还是我必须删除整个AWS账户?对于这些资源,我不想一天花大价钱。

编辑:我还删除了S3存储桶。

编辑2:因此,我设法使用了另一个配置文件(通过更改local-aws-info.json),所以我不再遇到安全请求失败的错误。现在我得到了错误:

Missing region in config

amplify status仍然产生相同的响应。

1 个答案:

答案 0 :(得分:2)

ampl cli通过将项目内的amplify/#current-cloud-backendamplify/backend文件夹进行比较来确定状态。因此,在运行amplify status时看到的内容与您的情况不符。

如果您创建了多个环境(在不同区域中),请确保也将其删除。如果无法使用amplify delete,删除它们的最简单方法是在创建环境的区域和deleting根堆栈的区域进行云形成,以确保由...创建的所有资源该堆栈被删除。

PS::cli在初始化时为authunauth用户创建角色,并为资源创建策略(如果存在,则不花费任何费用)。如果您不希望它们闲逛,可以删除它们。