2010-08-28 116 views
3

如果我从EC2实例创建SQS队列而未指定API调用中的区域,那么将在哪个区域创建队列。来自EC2实例的Amazon SQS区域

当我运行

boto.sqs.regions()

我得到4个区域从非EC2的机器,我得到

[RegionInfo:us-east-1, RegionInfo:eu-west-1, RegionInfo:us-west-1, RegionInfo:ap-southeast-1]

从EC2机在亚太地区,我得到

[RegionInfo:us-east-1, RegionInfo:eu-west-1, RegionInfo:us-west-1]

亚马逊是否根据EC2实例区域设置了SQS区域。有没有办法访问其他区域队列?

我使用python Boto库。

回答

2

在boto库中,您必须指定要连接的区域,否则默认为US-EAST区域。老版本的boto python库(1.9)没有东南亚地区,因此也存在上述问题。

1

有没有办法访问其他区域队列?

无论您在哪里创建SQS队列,都可以从任何地方访问它。我们在美国东部创建了队列,但是欧盟和亚洲的机器从队列中读取数据。

唯一的区别是交通价格:

单个区域内亚马逊SQS和Amazon EC2之间传送的数据是免费的。在不同地区的Amazon SQS和Amazon EC2之间传输的数据将按正常数据传输速率收费。

+0

但我无法使用Boto Python库将区域设置为EC2中的当前SQS区域。所以我应该假设它将当前使用的区域作为默认区域。 – sheki 2010-08-30 06:12:22

+0

以上是图书馆版本的问题。 – sheki 2010-08-30 18:04:54