Получить перенесенное имя файла в RabbitMQ используя python pika - PullRequest
0 голосов
/ 12 июня 2018

Я использую pika в Python3 для отправки файлов CSV с одного узла на другой, и здесь все в порядке.Единственное, что мне нужно, это получить переданное имя файла в принимающем узле (например: filename-2017-01-01.csv )

Есть ли способы сделать это?

Это часть обработки при получении файла.

def callback(ch, method, properties, body):
    ch.basic_ack(delivery_tag=method.delivery_tag)
    with open('test.csv', 'wb') as write_csv:
        write_csv.write(body)

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.


Вместо сохранения имени файла с сообщением, вы можете использовать этот метод для добавления пользовательского заголовка с именем файла.

0 голосов
/ 13 июня 2018

Я придумал эту идею для тех, кто хочет включить имя файла в сообщение:

Я связал имя файла с сообщением.После отправки сообщения я разделил сообщение:

with open(file, 'rb') as csv_file:
    return file + csv_file.read().decode()

С другой стороны:

file_name = body.decode().split('.csv')[0]
message = body.decode().split('.csv')[1]
with open('{}.csv'.format(file_name), 'w') as write_csv:
    write_csv.write(message)
...