我创建了一个逻辑应用程序,它从restapi获取数据。数据的内容类型是Application/protobuf(protobuf是由谷歌https://developers.google.com/protocol-buffers/docs/tutorials创建的二进制数据)我知道LA使用base64编码,所以它将数据更改为base64编码。由于数据需要通过protoc编译器进行反序列化,所以它需要二进制格式。因此,我将此数据存储到一个变量中,并尝试对此进一步处理。但不幸的是,存储在变量中的数据变成了盒子,而且呢?因此protoc编译器无法对其进行反序列化。我尝试了base64tobinary和http(),按照微软https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-content-type#applicationxml-and-applica..上提到的“其他内容类型”一节的建议。但它并没有起作用。有人能帮上忙吗?
发布于 2021-10-08 05:41:58
我试着重现这个问题,发现当我们使用string()时,我们正在接收的rest API主体将被转换回字符串。string(triggerBody())动态表达式。
稍后,我使用动态表达式' binary ',即‘binary(output(’Compose‘)’)‘将其转换为二进制,这将返回一个'application/octet-stream’结果。当我尝试转换回字符串时,一切对我来说都很好。
以下是我的逻辑应用程序的流程

这是输出


https://stackoverflow.com/questions/69470802
复制相似问题