amazon-web-services - boto.sqs 连接到非 aws 端点

标签 amazon-web-services boto amazon-sqs

我目前需要连接到 fake_sqs服务器用于开发目的,但我找不到一种简单的方法来指定 boto.sqs 连接的端点。目前在 java 和 node.js 中有一些方法可以指定队列端点,通过传递类似“localhst:someport”的东西,我可以连接到我自己的类似 sqs 的实例。我用 boto 尝试了以下操作:

fake_region = regioninfo.SQSRegionInfo(name=name, endpoint=endpoint)
conn = fake_region.connect(aws_access_key_id="TEST", aws_secret_access_key="TEST", port=9324, is_secure=False);

然后:

queue = connAmazon.get_queue('some_queue')

但它无法检索队列对象,它返回 None。有没有人实现连接到自己的 sqs 实例?

最佳答案

以下是创建连接到 fake_sqs 的 SQS 连接的方法:

region = boto.sqs.regioninfo.SQSRegionInfo(
  connection=None,
  name='fake_sqs',
  endpoint='localhost',  # or wherever fake_sqs is running
  connection_cls=boto.sqs.connection.SQSConnection,
)

conn = boto.sqs.connection.SQSConnection(
  aws_access_key_id='fake_key',
  aws_secret_access_key='fake_secret',
  is_secure=False,
  port=4568,  # or wherever fake_sqs is running
  region=region,
)

region.connection = conn

# you can now work with conn
# conn.create_queue('test_queue')

请注意,在撰写本文时,fake_sqs 库无法正确响应 GET 请求,这是 boto 发出许多请求的方式。您可以在此处安装已修补此功能的分支:https://github.com/adammck/fake_sqs

关于amazon-web-services - boto.sqs 连接到非 aws 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707617/

相关文章:

java - 如何使用 aws sdk v2 将对象复制到不同的亚马逊帐户?

javascript - 简单更新后 sails 无法升起

amazon-ec2 - boto .get_all_keypairs() 方法及其结果的 .save()

python - 检查 s3 url 是否存在

amazon-web-services - AWS cloudformation Spot实例参数

amazon-web-services - 从 AWS API 查询负载均衡器时 boto 显示空列表

php - 使用 SQS 在 PHP (Symfony2) 上发送数千个通知

c# - 使用 Amazon SQS 的 .net 应用程序示例

java - 提交到 SQS 时有关将消息自动编码为 base64 的规则

java - java中使用System.getenv()对性能的影响