2017-04-24 110 views
2

Azure Logic应用程序操作“获取Blob内容”不允许我们设置返回内容类型。Azure Logic应用程序 - 获取Blob内容 - 设置内容类型

默认情况下,它将blob作为二进制(八位字节流)返回,这在大多数情况下是无用的。一般来说,有文本(如json,xml,csv等)会很有用。

我知道该动作是在测试版中。这是短期路线图吗?

+0

您是否尝试将blob设置为正确的内容类型? http://stackoverflow.com/questions/10040403/set-content-type-of-media-files-stored-on-blob –

+0

是的。 blob是/ json。 –

回答

1

经过逻辑应用程序的摆弄之后,我终于明白发生了什么事情。

从HTTP请求输出的JSON是一个XML有效载荷的JSON表示:

{ 
    "$content-type": "application/xml", 
    "$content": "77u/PD94bWwgdm..." 
} 

因此,我们可以对其进行解码,但它是无用真的。这是Logic App的XML对象。我们可以将xml函数应用于它,比如xpath。

3

我发现的解决方法是使用逻辑应用程序表达式base64ToString。

例如,创建类型“撰写”(数据操作组)用下面的代码的操作:

 "ComposeToString": { 
      "inputs": "@base64ToString(body('Get_blob_content').$content)", 
      "runAfter": { 
       "Get_blob_content": [ 
        "Succeeded" 
       ] 
      }, 
      "type": "Compose" 
     } 

的输出将是团块的文本表示。