Как отправить простое сообщение в sqs без base64 кодировки - PullRequest
0 голосов
/ 02 мая 2019

Я хочу отправить простое сообщение в очереди sqs, но kombu добавляет некоторую дополнительную информацию.Я хотел бы отправить:

{"someInfo": "value"}

, и когда я отправляю сообщение с kombu в очереди, я вижу следующее сообщение (в кодировке base64):

{"body": "message base64 encoded", "content-encoding": "utf-8", "content-type": "text/plain", "headers": {}, "properties": {"delivery_mode": 2, "delivery_info": {"exchange": "danilo-test-queue", "routing_key": "danilo-test-queue"}, "priority": 0, "body_encoding": "base64", "delivery_tag": "b444d405-6f0e-4e73-8ffc-a81cdd804aac"}}

Есть ли способотправить простое сообщение в комбу без добавления дополнительной кодировки и обернуть в объект.

Я использую следующий код:

def send_a_message(who, producer=None):
    with app.producer_or_acquire(producer) as producer:
        producer.publish(
            {'someInfo': who},
            serializer='json',
            exchange=test_queue.exchange,
            routing_key='routing_key',
            declare=[test_queue],
            retry=True,
        )
        print('message sent')
...