2016-04-16 14 views
2

Unsere Anwendung verwendet Amazon SQS für Nachrichtenwarteschlangen und wir verwenden ElasticMQ zum Testen/Staging; elasticMQ ist ein Nachrichtenwarteschlangenserver, der vollständig mit SQS kompatibel ist. Da der Großteil unserer Anwendung in Java ist, können wir Embedded ElasticMQ in unseren Tests oder Staging ausführen, unsere Warteschlangenendpunkte auf ElasticMQ umstellen und voila, alles funktioniert sehr gut und wir berühren unsere Produktionswarteschlangen nicht.Legen Sie den Endpunkt für Boto3 SQS

Das gesagt, haben wir einige unserer Anwendung in Python geschrieben - die Boto3 für SQS-Anfragen verwendet. Da elasticMQ auch als eigenständige Anwendung ausgeführt werden kann, habe ich mich gefragt, ob es möglich ist, den Endpunkt von der Standard-URL (sqs.region.amazonaws.com:80) auf etwas anderes (localhost: 9324) in boto3 umzustellen. Ich habe die Dokumentation und SO durchforstet, aber ich konnte nicht erkennen, ob das, was ich tun möchte, überhaupt möglich ist.

+0

SQS übergibt einen 'QueueURL' in Anfragen. Ich frage mich, ob Sie es so modifizieren können, dass es auf einen anderen Ort zeigt. Sie können möglicherweise auch die Liste der Regionen überschreiben, um eine mit unterschiedlichen Endpunkten zu definieren. –

Antwort

2

Sie können die endpoint_url an den Client/Ressource-Konstruktor übergeben.

import boto3 

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

docs

Verwandte Themen