amazon-web-services - 如何仅在一个环境中使用 amplify cli 删除资源?

标签 amazon-web-services aws-amplify

假设我已经使用 aws amplify cli(生产)配置了一个环境。在生产环境中,我配置了带有 S3/CDN 的托管资源和身份验证资源。现在我想创建一个仅包含身份验证资源的开发环境。

我是否能够配置这些彼此独立的环境?如果我通过amplify add env创建一个新环境,然后发布堆栈,我会得到基于之前创建的生产环境的摘要:

| Category | Resource name           | Operation | Provider plugin   |
| -------- | ----------------------- | --------- | ----------------- |
| Hosting  | S3AndCloudFront         | Create    | awscloudformation |
| Auth     | auth2d58178c            | Create    | awscloudformation |

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

我想拆分开发环境和生产环境,以便在开发环境中不使用托管。这应该或多或少地用于开发人员在本地开发期间使用 Cognito 等服务。但我想要一个具有配置的托管资源的生产(以及后来的暂存)环境。

这可能吗?

最佳答案

是的,确实如此。

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

如果你这样做:

  1. 在 master 中合并开发环境时要小心,以确保您没有删除 hosting类别;
  2. 您可以运行 amplify env checkout <current-env-name>to populate the CLI runtime files and make it aware of the resources changes

话虽如此,您是否知道 recommended approach of "Team-members working on their own sandbox environments"sharing the same dev backend通过 using S3 static web hosting for DEV and S3+CloudFront for PROD ?采取与标准程序不同的路径往往会在未来的某个地方导致痛苦。

关于amazon-web-services - 如何仅在一个环境中使用 amplify cli 删除资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58135371/

相关文章:

javascript - 将 Javascript 中的当前时间传递给 GraphQL AWSDateTime 列

javascript - 我如何以 Angular 将数据从一条路线传输到另一条路线?

sql-server - 修改 RDS 更改 Microsoft SQL Server 许可类型

python - 如何从 AWSCLI 设置 EMR 的 YARN 内存开销

java - 如何使用 JAVA 从 Dynamo DB 获取列的 SUM

amazon-web-services - 将 team-provider-info.json 发布到公共(public)存储库是安全的

javascript - AWS IoT Core 连接被经过身份验证的 Cognito 用户拒绝并附有策略 [MQTT over WSS]

javascript - 包含 `declare module ' graphql/error/GraphQLError' 的声明 (.d.ts) 文件;在 Angular 项目中的 index.d.ts 中

javascript - AWS Lambda - 错误 : Cannot find module 'uuid/v4'

sql - 更改 Parquet 文件中的列数据类型