python - AWS boto 检查安全组或其他元素是否准备就绪

标签 python amazon-web-services boto amazon-vpc

我正在使用 boto 创建 VPC 和安全组。如果我只是在脚本中创建和标记元素,我会不断收到错误,因为元素还没有准备好。我可以手动等待,但我更愿意拉动它们,看看它们是否真的准备好了。对于 VPC 或子网,我可以使用类似的东西:

import boto.vpc

v = boto.vpc.VPCConnection(
    region=primary_region,
    aws_access_key_id=aws_access_key,
    aws_secret_access_key=aws_secret_key)

vpcs = v.get_all_vpcs()
print vpcs[0].state

使用更多逻辑和 while 循环来检查状态是否为 availablerunning 或其他。这适用于大多数 vpc/aws 元素,但某些元素(如安全组)在使用 get_all_security_groups 或等效项返回时没有状态属性。

人们如何检查这些元素是否已准备好使用?

最佳答案

事实证明,对于没有状态属性的元素,您必须发挥创意并编写一些可能脆弱的代码。

对于安全组的具体例子,我是这样的:

  1. 使用带有过滤器的 get_all_security_groups 来查找安全组。
  2. 检查 sg.rules_egress
  3. 使用指数退避算法重试。

当它开始失败时(我相信它会失败),我会再看看其他更好的方法,但到目前为止一直没有失败。

关于python - AWS boto 检查安全组或其他元素是否准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23751688/

相关文章:

amazon-web-services - boto如何选择aws区域来创建buckets?

python - 使用 boto3,如何检查 AWS IAM 用户是否有密码?

amazon-web-services - 如何使用 boto 获取已在飞行中的 aws sqs 消息

用于分割视频的python库

python - Django : Object didn't load in HTML template

android - AWS CognitoInternalErrorException

amazon-web-services - <AWS CloudFormation> 如何获取和使用外部脚本的返回值?

python - 如何按用户 ID 按小时迭代选择平均值?

python - 在首选项中的 spyder 中添加颜色主题

java - 在云中部署 C++ 应用程序