假设我已经使用 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
在主分支/生产环境中定义的类别。
如果你这样做:
- 在 master 中合并开发环境时要小心,以确保您没有删除
hosting
类别; - 您可以运行
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/