为 boto3 SQS 设置端点
Set the endpoint for boto3 SQS
我们的应用程序使用亚马逊的 SQS 作为消息队列,我们使用 elasticMQ 作为 testing/staging; elasticMQ是一个完全兼容SQS的消息队列服务器。由于我们的大部分应用程序都在 java 中,我们可以 运行 在我们的测试或暂存中嵌入 elasticMQ,切换我们的队列端点以指向 elasticMQ 和瞧,一切都很好,但我们没有触摸我们的生产队列。
也就是说,我们有一些应用程序是用 python 编写的 - 它使用 boto3 来处理 SQS 请求。由于 elasticMQ 也可以 运行 作为独立应用程序,我想知道是否可以将端点从默认 url (sqs.region.amazonaws.com:80) 切换到其他 (localhost:9324)在 boto3.我已经搜索了文档和 SO,但无法确定我想做的事情是否可行。
您可以将 endpoint_url
传递给客户端/资源构造函数。
import boto3
sqs = boto3.resource('sqs')
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com")
我们的应用程序使用亚马逊的 SQS 作为消息队列,我们使用 elasticMQ 作为 testing/staging; elasticMQ是一个完全兼容SQS的消息队列服务器。由于我们的大部分应用程序都在 java 中,我们可以 运行 在我们的测试或暂存中嵌入 elasticMQ,切换我们的队列端点以指向 elasticMQ 和瞧,一切都很好,但我们没有触摸我们的生产队列。
也就是说,我们有一些应用程序是用 python 编写的 - 它使用 boto3 来处理 SQS 请求。由于 elasticMQ 也可以 运行 作为独立应用程序,我想知道是否可以将端点从默认 url (sqs.region.amazonaws.com:80) 切换到其他 (localhost:9324)在 boto3.我已经搜索了文档和 SO,但无法确定我想做的事情是否可行。
您可以将 endpoint_url
传递给客户端/资源构造函数。
import boto3
sqs = boto3.resource('sqs')
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com")