Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 等待弹性负载平衡V2准备就绪的正确方法_Python 3.x_Amazon Web Services_Cloud_Boto3 - Fatal编程技术网

Python 3.x 等待弹性负载平衡V2准备就绪的正确方法

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

我使用python3库boto3来创建ElasticLoadBalancingv2,并希望等待一些条件,例如运行或终止

我知道它应该像
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
中。