You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logic App连接MQ时二进制消息内容取值问题咨询

问题描述

使用Logic App连接MQ轮询消息时,单个队列的消息以Message item binary content格式返回,其余队列消息均为可直接读取文本的Message item content格式,无读取异常。
异常返回结构示例:

{
  "$content-type": "application/octet-stream",
  "$content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48bnM0aW9uVGV4dD4KICA8L0V4Y2VwdGlvbj4KPC9uczA6UG9saWN5VXBkYXRlPg==" // 截断示例值
}

需要实现Logic App内对上述$content字段有效值的正确提取。

可行解决方法
  • 直接使用内置表达式解码
    Logic App表达式原生支持base64ToString()方法,直接传入二进制结构的$content字段即可解码得到原始文本,示例表达式:
    base64ToString(triggerBody()?['$content'])
    
    解码后如果是XML、JSON结构化内容,可直接衔接对应解析动作做后续处理。
  • 修改MQ连接的消息读取配置
    打开工作流中MQ轮询操作的设置面板,找到该异常队列对应的消息接收格式配置项,将默认的Binary读取模式修改为Text,保存配置后重新触发工作流,后续该队列的消息就会和其他正常队列一致,直接返回可读取的文本内容,无需额外转码。
  • 配置兼容两种格式的通用逻辑
    如果工作流需要同时处理二进制返回、普通文本返回两种场景,可以加一层类型判断自动适配,示例表达式:
    if(equals(triggerBody()?['$content-type'], 'application/octet-stream'), base64ToString(triggerBody()?['$content']), triggerBody())
    
    逻辑会自动识别返回的内容类型,二进制格式自动做base64转文本,普通文本格式直接透传,不需要针对不同队列单独拆分逻辑分支。

内容的提问来源于stack exchange,提问作者SSR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:48:10