2

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

 conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
 print conn.get_all_groups()

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

conn = AutoScaleConnection(ACCESS_KEY,SECRET_KEY)
autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1')

错误:

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

如果我尝试这样做:

autoscale = boto.ec2.autoscale.connect_to_region('eu-west-1',ACCESS_KEY,SECRET_KEY)

错误:

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

4

1 回答 1

6

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

boto.ec2.autoscale.connect_to_region('us-west-2', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)

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

于 2013-10-28T11:58:03.840 回答