【问题标题】:Push JSON file (messages) to queue in RabbitMQ将 JSON 文件(消息)推送到 RabbitMQ 中的队列
【发布时间】:2021-04-11 10:29:46
【问题描述】:

假设我有两个队列,即queue1queue2。我在 queue1 中有消息,我使用以下命令将其存储在 JSON 文件中。

curl -u user:pass -H "content-type:application/json" -XPOST http://192.168.178.23:15672/api/queues/testvhost/queue1/get -d'{"count":5,"ackmode":"ack_requeue_true","encoding":"auto","truncate":50000}' -o m1.json

在这篇文章的帮助下:- RabbitMQ - Get messages from a queue using curl

我的 JSON 文件如下所示:- https://paste-me.net/fibed

我正在尝试借助以下命令将此 JSON 文件(消息)推送到另一个队列 @9​​87654327@:

curl -i -u user:pass -H "Accept: application/json" -H "Content-Type:application/json" -X POST -d @m1.json http://192.168.178.23:15672/api/exchanges/testvhost/queue2/publish

HTTP/1.1 500 Internal Server Error
content-length: 0

但它似乎不起作用。

任何帮助将不胜感激,请不要向我建议有关铲子的想法。

谢谢。

【问题讨论】:

    标签: json curl rabbitmq


    【解决方案1】:

    根据文档,为了使用 HTTP 发布消息,正文应如下所示:

    {"properties":{},"routing_key":"my key","payload":"my body","payload_encoding":"string"}
    

    但您发送的消息数组似乎不受 API 支持(因为它声明它需要包含这些字段的单个消息)。

    https://raw.githack.com/rabbitmq/rabbitmq-management/rabbitmq_v3_6_9/priv/www/api/index.html

    【讨论】: