2016-04-16 18 views
2

私たちのアプリケーションでは、amazonのSQSをメッセージキューに使用し、テスト/ステージングにはelasticMQを使用しています。 elasticMQは、SQSと完全に互換性のあるメッセージキューサーバーです。私たちのアプリケーションの大部分はJavaで実行されているため、テストやステージングに埋め込まれたelasticMQを実行したり、キューのエンドポイントをelasticMQやvoilaに切り替えることができ、すべてうまく動作し、プロダクションキューに触れません。boto3のエンドポイントを設定するSQS

私たちのアプリケーションのいくつかはPythonで書かれていますが、これはSQS要求にboto3を使用しています。 elasticMQはスタンドアロンアプリケーションとしても実行できるので、デフォルトのURL(sqs.region.amazonaws.com:80)からboto3の別のもの(localhost:9324)にエンドポイントを切り替えることが可能かどうか疑問に思っていました。私はドキュメンテーションを精査しましたが、私がしたいことが可能かどうかを特定できませんでした。

+0

SQSは、リクエストに 'QueueURL'を渡します。別の場所を指すように変更できるのだろうか?リージョンのリストをオーバーライドして、異なるエンドポイントを持つリージョンを定義することもできます。 –

答えて

2

endpoint_urlをクライアント/リソースコンストラクタに渡すことができます。

import boto3 

sqs = boto3.resource('sqs') 
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com") 

docs

関連する問題