Boto Autoscale在其他地区

Mat*_*att 2 boto autoscaling

我正在尝试使用boto的自动缩放模块.我到达创建一个API连接并获取默认区域(us-east-1)中的所有组.

 conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
 print conn.get_all_groups()
Run Code Online (Sandbox Code Playgroud)

现在我需要在eu-west-1区域创建一个连接,但我总是出错.

conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1')
Run Code Online (Sandbox Code Playgroud)

错误:

boto.exception.NoAuthHandlerFound:没有处理程序准备好进行身份验证.检查了1名处理程序.['HmacAuthV4Handler']检查您的凭据

如果我尝试:

autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1',ACCESS_KEY,SECRET_KEY)
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError:connect_to_region()只取1个参数(给定3个)

gar*_*aat 6

您必须将其他参数作为关键字参数传递,例如:

boto.ec2.autoscale.connect_to_region('us-west-2', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)
Run Code Online (Sandbox Code Playgroud)

或者,您可以将您的凭据放在boto配置文件(~/.boto)或环境变量中,然后boto会找到它们.