【问题标题】:Logic app turn the binary to bad character逻辑应用程序将二进制文件变成坏字符
【发布时间】:2021-10-06 18:19:08
【问题描述】:

我创建了一个从 restapi 获取数据的逻辑应用程序。数据的内容类型是 Application/protobuf(protobuf 是由 google https://developers.google.com/protocol-buffers/docs/tutorials 制作的二进制数据) 我知道 LA 使用 base64 编码,因此它将数据更改为 base64 编码。由于要通过协议编译器反序列化的数据,因此它需要二进制格式。所以我将这些数据存储到一个变量中,并尝试进行进一步的处理。但不幸的是,数据以变量的形式存储在盒子和?所以 protoc 编译器无法反序列化。 根据 microsoft https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-content-type#applicationxml-and-applica.. 上“其他内容类型”部分的建议,我尝试了 base64tobinary 和 http()。 但它没有用。有人可以帮忙吗?

【问题讨论】:

    标签: azure-logic-apps


    【解决方案1】:

    我尝试重现该问题,发现当我们使用 string()string(triggerBody()) 动态表达式时,我们收到的其余 API 主体将转换回字符串。

    稍后,我使用动态表达式'binary'转换为二进制,即'binary(outputs('Compose')',它将返回'application/octet-stream'结果。当我尝试转换回一个字符串,对我来说一切都很好。

    这是我的逻辑应用的流程

    这是输出

    【讨论】:

    • 我试过了,但它对我不起作用。字符移动到盒子中,当我试图反序列化它时,protoc 编译器会抛出一个错误。
    • @Harsh 您能否提供有关您发送的数据的更多信息?如果您提供该数据的示例会更有帮助。
    【解决方案2】:

    我改变了使用方式。我不是流式传输,而是将数据存储到文件中并进一步处理。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多