设置 boto3 SQS 的端点

csc*_*can 5 python amazon-sqs boto3 elastic-mq

我们的应用程序使用亚马逊的 SQS 作为消息队列,我们​​使用 elasticMQ 进行测试/登台;elasticMQ 是一个完全兼容 SQS 的消息队列服务器。由于我们的大部分应用程序是在 Java 中,我们可以在我们的测试或暂存中运行嵌入式 elasticMQ,切换我们的队列端点以指向 elasticMQ 和瞧,一切都运行得非常好,我们不接触我们的生产队列。

话虽如此,我们的一些应用程序是用 python 编写的——它使用 boto3 来处理 SQS 请求。由于 elasticMQ 也可以作为独立应用程序运行,我想知道是否可以将端点从默认 url (sqs.region.amazonaws.com:80) 切换到 boto3 中的其他内容 (localhost:9324)。我已经搜索了文档和 SO,但无法确定我想做的事情是否可行。

Jor*_*ips 13

您可以将 传递endpoint_url给客户端/资源构造函数。

import boto3

sqs = boto3.resource('sqs')
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com")
Run Code Online (Sandbox Code Playgroud)

文档