AWS Ruby SDK - 删除应用程序和所有相关环境

Posted

技术标签:

【中文标题】AWS Ruby SDK - 删除应用程序和所有相关环境【英文标题】:AWS Ruby SDK - Delete application and all associated environments 【发布时间】:2013-07-10 07:47:47 【问题描述】:

我正在使用 AWS Ruby 开发工具包与 Amazon Beanstalk 进行交互。我有更多或更多运行环境的应用程序。我的 Ruby 代码很容易知道应用程序名称,但环境名称是动态生成的,因此不容易获得。

我希望 delete_application 方法也能自动终止所有正在运行的环境,但是尝试删除具有运行环境的 Beanstalk 应用程序会导致以下错误:

Unable to delete application dsw88-test-app-prod because it has a version that is deployed to a running environment.

在 AWS 控制台中手动删除应用程序也可以自动删除正在运行的环境。有没有办法使用 Ruby SDK 轻松删除应用程序及其所有运行环境?

【问题讨论】:

【参考方案1】:

经过更多研究,我认为这是不可能的。相反,您必须使用以下过程:

    使用 describe_environments 调用获取应用程序中所有环境的列表 使用 terminate_environment 调用终止每个正在运行的环境 完成后(您应该等待它们完成),然后您可以运行 delete_application 调用来删除您的应用程序

如果 Amazon 提供了一种通过一个命令以编程方式删除所有内容的方法(就像他们在 UI 中所做的那样),那就太好了,但目前看来并不支持。

【讨论】:

以上是关于AWS Ruby SDK - 删除应用程序和所有相关环境的主要内容,如果未能解决你的问题,请参考以下文章

ruby 本要点展示了我如何使用Ruby AWS SDK,Fog和Carrierwave在我的应用程序中实现AWS假设角色功能

如何使用 Ruby SDK 从 AWS 获取公共 IP 地址

使用 aws-sdk-v1 从 ruby​​ 脚本中的 AWS SSM Parameter Store 获取数据

如何强制删除 S3 存储桶中的所有对象版本,然后最终使用 aws-sdk-go 删除整个存储桶?

Ruby v2 的 aws-sdk:在我将对象放入 S3 存储桶后检查成功状态

使用 aws-sdk ruby​​ gem 知道自己的实例 ID