Vin*_*zon 3 content-type azure azure-storage-blobs azure-logic-apps
Azure Logic Apps操作"获取Blob内容"不允许我们设置返回内容类型.
默认情况下,它将blob作为二进制(八位字节流)返回,这在大多数情况下是无用的.通常,拥有文本(例如json,xml,csv等)会很有用.
我知道这个动作正处于测试阶段.这是短期路线图吗?
我找到的解决方法是使用Logic App表达式base64ToString.
例如,使用以下代码创建"Compose"类型的操作(数据操作组):
"ComposeToString": {
"inputs": "@base64ToString(body('Get_blob_content').$content)",
"runAfter": {
"Get_blob_content": [
"Succeeded"
]
},
"type": "Compose"
}
Run Code Online (Sandbox Code Playgroud)
输出将是blob的文本表示.
所以我有一个 blob 坐在 az 存储中,其中包含 json。获取 blob 为我返回了一个非常无用的八位字节,因为我无法解析它。
错误的请求。在“ParseJson”操作输入中,属性“content”必须是 JSON 类型,但必须是“application/octet-stream”类型。
所以我设置了一个“初始化变量”,内容类型为字符串,指向 GetBlobContent->File Content。base64 转换发生在幕后,我现在可以通过变量访问我的 json。
无需代码。
JSON 输出...
流程,没有代码...
享受!希利在坦帕...
在摆弄了逻辑应用程序很多次之后,我终于明白发生了什么。
HTTP 请求的 JSON 输出是 XML 负载的 JSON 表示形式:
{
"$content-type": "application/xml",
"$content": "77u/PD94bWwgdm..."
}
Run Code Online (Sandbox Code Playgroud)
所以我们可以解码它,但它实际上没有用。这是逻辑应用程序的 XML 对象。我们可以对其应用xml函数,例如xpath。
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |