Установите конечную точку для boto3 SQS
Наше приложение использует SQS Amazon для очередей сообщений, а мы используем asticMQ для тестирования / подготовки; asticMQ - сервер очереди сообщений, полностью совместимый с SQS. Поскольку большая часть нашего приложения находится на языке Java, мы можем запускать встроенный asticMQ в наших тестах или промежуточных этапах, переключать конечные точки нашей очереди, чтобы указывать на asticMQ и вуаля, все работает очень хорошо, и мы не затрагиваем наши производственные очереди.
При этом у нас есть некоторые приложения, написанные на python, которые используют boto3 для запросов SQS. Так как asticMQ также можно запускать как отдельное приложение, мне было интересно, можно ли переключить конечную точку с URL-адреса по умолчанию (sqs.region.amazonaws.com:80) на что-то другое (localhost:9324) в boto3. Я изучил документацию и ПО, но не смог определить, возможно ли то, что я хотел бы сделать.
1 ответ
Вы можете пройти в endpoint_url
клиенту / конструктору ресурсов.
import boto3
sqs = boto3.resource('sqs')
emq = boto3.resource('sqs', endpoint_url="http://www.foo.com")