首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除一个只有一个环境的放大cli的资源?

如何删除一个只有一个环境的放大cli的资源?
EN

Stack Overflow用户
提问于 2019-09-27 21:16:35
回答 2查看 2.4K关注 0票数 2

假设我已经使用aws amplify cli (生产)配置了一个环境。在生产环境中,我使用S3/CDN和auth资源配置了一个托管资源。现在我想创建一个只包含auth资源的dev环境。

我是否能够相互独立地配置这些环境?如果我通过amplify add env创建一个新环境,在发布堆栈之后,我将获得基于之前创建的生产环境的摘要:

代码语言:javascript
复制
| Category | Resource name           | Operation | Provider plugin   |
| -------- | ----------------------- | --------- | ----------------- |
| Hosting  | S3AndCloudFront         | Create    | awscloudformation |
| Auth     | auth2d58178c            | Create    | awscloudformation |

如果我现在删除托管资源,会发生什么?这也会影响我的生产环境吗?

我想拆分开发和生产环境,以便不使用开发环境的主机。开发人员应该或多或少地使用这一点,以便在他们的本地开发过程中使用类似cognito的服务。但我想要一个具有已配置主机资源的生产环境(以及稍后的临时环境)。

这个是可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2020-01-24 01:02:21

是的,是这样的。

amplify/backend folder“包含了本地最新的后端资源规范推送到云端”。在那里,您可以找到一个包含将被推送到云的资源的backend-config.json,因此没有人会禁止您只在主分支/生产环境中定义hosting类别。

如果你这样做了:

  1. 在master中合并开发环境时要小心,以确保您没有删除hosting类别;
  2. 您可以运行amplify env checkout <current-env-name> dev

话虽如此,你知道using S3 static web hosting for DEV and S3+CloudFront for PRODrecommended approach of "Team-members working on their own sandbox environments"sharing the same dev backend吗?走一条与标准程序不同的道路,可能会在未来的某个地方导致痛苦。

票数 1
EN

Stack Overflow用户

发布于 2020-08-04 00:35:22

不幸的是,大多数建议的替代方法仍然依赖于Amplify以及backend-config.json文件的CloudFormation资源。

但是,如果您遇到一个问题,例如,您意外地执行了git reset --hard操作,并且您发现自己处于这样一种情况:在本地backend-config.json中,您希望删除的环境不再存在,但它仍然存在于Amplify web console

在您无法直接使用Amplify CLI删除故障环境的情况下,您可以选择直接使用AWS CLI而不是Amplify的CLI。

最初您需要检索您的AWS应用程序ID

代码语言:javascript
复制
$ aws amplify list-apps --region us-east-1 | grep appId

            "appId": "abc123def456gh",

检索到appId后,您可以列出在亚马逊网络服务上为该放大应用注册的分支机构:

代码语言:javascript
复制
## PUT YOUR APP ID: 
$ aws amplify list-branches --region us-east-1 --app-id abc123def456gh | grep branchName

           "branchName": "master",

要删除特定分支的Amplify资源,只能通过CLI删除Amplify应用程序:

代码语言:javascript
复制
## ENTER YOUR APP ID AND AMPLIFY BRANCH NAME
$ aws amplify delete-backend-environment --region us-east-1 --app-id abc123def456gh --environment-name master

$ aws amplify delete-branch --region us-east-1 --app-id abc123def456gh  --branch-name master

现在,放大环境不再存在于放大控制台中。你现在可以继续检查Cloudformation console是否为这个环境部署了任何仍然存在的堆栈(搜索amplify-<YOURAPPNAME>-<ENVIRONMENT>-173612 (例如,CloudFormation堆栈名可以是amplify-reactpoc-master-123456) )。如果你愿意,你可以使用$ amplify init在相同的名字下创建一个全新的放大环境。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58135371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档