如何使用 Web 插件将 JSON 有效负载发送到 RabbitMQ?
问题描述
我有一个安装了 Web 管理插件的
我在接收端收到以下错误:
operation_id = payload['operationId']TypeError:字符串索引必须是整数
我尝试添加 content-type
标头和属性,但没有成功.
由于阅读器代码相同,表示网络发送方没有将发送的消息标记为JSON/字典载荷,因此在另一端读取为字符串.
知道如何使用 RabbitMQ Web 控制台将消息标记为 JSON 消息吗?
解决方案我不得不使用 content_type
而不是 content-type
(下划线而不是连字符).
这是一个非常值得怀疑的设计决定,因为每个人都知道的标准是
I have a RabbitMQ 3.4.2 instance with a web management plugin installed.
When I push to the message {'operationId': 194}
to the queue using Python's kombu queue package, the message is read on the other end as a dictionary.
However, when I send the message using the web console:
I get the following error on the receiving end:
operation_id = payload['operationId']
TypeError: string indices must be integers
I have tried adding a content-type
header and property, with no success.
Since the reader code is the same, it means that the web sender does not mark the sent message as a JSON / dictionary payload, and therefore it is read as a string on the other end.
Any idea how to mark a message as a JSON message using the RabbitMQ web console?
解决方案I had to use content_type
instead of content-type
(an underscore instead of a hyphen).
This is a pretty questionable design decision, because the standard everybody knows is content-type
.
相关文章