我们的应用程序使用amazon的SQS作为消息队列,我们使用elasticMQ进行测试/分段; elasticMQ是一个与SQS完全兼容的消息队列服务器。由于我们的大多数应用程序都是在java中,我们可以在测试或分段中运行嵌入式elasticMQ,切换我们的队列端点以指向elasticMQ和瞧,一切都运行得非常好,我们不会触及我们的生产队列。 / p>
话虽这么说,我们有一些用python编写的应用程序 - 它使用boto3进行SQS请求。由于elasticMQ也可以作为独立的应用程序运行,我想知道是否可以将端点从默认URL(sqs.region.amazonaws.com:80)切换到boto3中的其他东西(localhost:9324)。我已经仔细检查了文档,但是我们无法确定我想做的事情是否可行。
答案 0 :(得分:3)
您可以将endpoint_url
传递给客户端/资源构造函数。
import boto3
sqs = boto3.resource('sqs')
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com")