如何使用python boto启用connectiondraining来修改

2024-09-21 01:07:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用python boto模块中的modify_lb_attribute方法启用ELB连接排水;但是我无法使其正常工作。根据这里的文档,http://boto.readthedocs.org/en/latest/ref/elb.html我应该可以这样称呼它:

修改\u lb_属性(负载均衡器名称、属性、值)

下面是一个例子:

modify_lb_attribute('my-elb', 'connectionDraining', 120)

但是,当我这样做时,我收到以下错误:

文件“/Library/Python/2.7/site packages/boto/ec2/elb/init.py”,第421行,在modify_lb_属性中 值。已启用“真”还是“假” AttributeError:“NoneType”对象没有“enabled”属性

我已经能够让它成功地与crossZoneLoadBalancing一起工作。在

例如,这是有效的:

^{pr2}$

任何帮助或建议将不胜感激。在

谢谢


Tags: 模块方法文档orghttp属性readthedocsattribute
2条回答

修改负载平衡器的connectionDraining属性时,实际上可以提供两个值。第一个是一个boolean,表示您是启用还是禁用连接排出功能。第二个是一个整数,表示timeout,这显然只适用于启用了连接排出的情况。在

为了允许您指定这两个值,boto在boto.ec2.elb.attributes中定义了一个ConnectionDrainingAttribute类。必须将此类的实例作为值传递给modify_elb_attribute,例如:

from boto.ec2.elb.attributes import ConnectionDrainingAttribute

cda = ConnectionDrainingAttribute()
cda.enabled = True
cda.timeout = 120
...
modify_lb_attribute('my-elb', cda)

实例化ConnectionDrainingAttribute并将其传递给负载平衡器的工作语法:

from boto.ec2.elb.attributes import ConnectionDrainingAttribute
import boto.ec2.elb

connection = boto.ec2.elb.connect_to_region("region") 
cda = ConnectionDrainingAttribute(connection)
cda.enabled = True  
cda.timeout = 120
connection.modify_lb_attribute( 
    load_balancer_name='my-elb',
    attribute='connectionDraining',
    value=cda
)

关于ConnectionDrainingAttribute类的更多信息可以在boto docs中找到。在

相关问题 更多 >

    热门问题