Python 3.x 等待弹性负载平衡V2准备就绪的正确方法
我使用python3库boto3来创建ElasticLoadBalancingv2,并希望等待一些条件,例如运行或终止 我知道它应该像Python 3.x 等待弹性负载平衡V2准备就绪的正确方法,python-3.x,amazon-web-services,cloud,boto3,Python 3.x,Amazon Web Services,Cloud,Boto3,我使用python3库boto3来创建ElasticLoadBalancingv2,并希望等待一些条件,例如运行或终止 我知道它应该像EC2类一样使用waterer等待它,它已经 waterer=ec2\u客户端。获取\u waterer('instance\u running') 然后 water.wait(instanceId=[instance\u id]) 但是我在ElasticLoadBalancingv2中找不到任何关于服务员做这些事情的文件 它只有get\u waterer(wat
EC2
类一样使用waterer
等待它,它已经
waterer=ec2\u客户端。获取\u waterer('instance\u running')
然后
water.wait(instanceId=[instance\u id])
但是我在ElasticLoadBalancingv2中找不到任何关于服务员做这些事情的文件
它只有get\u waterer(waterr\u name)
,但没有关于waterr\u name
的任何信息
我如何解决它?我现在想的是使用descripe
在while
循环中获取其状态,但我不知道这是一种好方法
谢谢您可以使用客户机上的服务员姓名
属性来检查是否有可用的服务员:
elbclient = boto3.client('elbv2', region_name='us-east-1')
print elbclient.waiter_names
然后您可以使用waiters,但它们的关键字参数与ELB classic waiters不同,例如LoadBalancerArns、Names、Marker、PageSize:
waiter = elbclient.get_waiter('load_balancer_available')
我使用python3,但打印(elbclient.waterr\u names)显示空列表
和waterr=elbclient.get\u waterer('load\u balancer\u available')显示waterer不存在:load\u balancer\u available
可能需要更新boto3和botocore包。我在旧版本的elbclassic模块上缺少了一些功能。类似于pip安装——升级boto3-botocore
这不是更新包的问题。elbv2
客户端提供了load\u balancer\u available
服务生,但不在elb
中。