Установите конечную точку для 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")

документы

Другие вопросы по тегам