我正在使用 boto (http://docs.pythonboto.org/en/latest/) 并希望在连接到弹性 beantalk 时以编程方式选择一个区域。到目前为止,我所能想到的是:
import boto
from boto.beanstalk.layer1 import Layer1
Layer1.DefaultRegionName = 'us-west-1'
Layer1.DefaultRegionEndpoint = 'elasticbeanstalk.us-west-1.amazonaws.com'
ebs = boto.connect_beanstalk()
理论上我可以调用
boto.connect_beanstalk(region=<something>)
我不知道如何构建 boto.regioninfo.RegionInfo,这显然是 Layer1 类所期望的。
请您参考如下方法:
这对我来说绝对像是一个错误 - 但仔细查看代码,似乎从未使用过 RegionInfo 上的连接参数。在构建您自己的 RegionInfo 时将其设置为 None,然后将其传递给构造函数似乎对我有用。
regionInfo = boto.regioninfo.RegionInfo(None, 'us-west-1', 'elasticbeanstalk.us-west-1.amazonaws.com')
beanstalk = boto.connect_beanstalk(region=regionInfo)
mt.describe_applications()
对于它的值(value),我很确定在建立连接时只使用完整区域端点参数 - 例如“elasticbeanstalk.us-west-1.amazonaws.com”
