在 Azure 逻辑应用中使用 SFTP 文件内容
Using SFTP File Content in Azure Logic Apps
在 SFTP 文件夹中添加或修改新文件时,我必须将文件名和文件内容传递给 Azure 函数。我能够传递它们,但文件内容正在作为复杂类型 json 传递,如下所示:
{
"fileContent": {
"$content-type": "application/octet-stream",
"$content": "QWxvZnQgQidoYW0gU29obyBTcSAgICAg=="
},
"fileName": "testFile"
}
我只需要将 $content 传递给 Azure Function。我目前的代码在logic app
中如下
"body": {
"fileContent": "@triggerBody()",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
},
我如何才能将 FileContent 中的内容仅传递给 Azure 函数?
如您所见,您正在获取一个 $content 属性,因此您只需要访问该 属性,因为 Base64 编码,您需要对其进行解码。试试这个
"body": {
"fileContent": "@base64ToString(triggerBody()['$content'])",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
},
HTH
您应该可以只传递内容 as-is。逻辑应用程序将解码数据并将其作为二进制传递给 azure 函数(假设该函数可以接受二进制内容)。您可以将文件名作为 header.
传递
如果要将内容作为 属性 附加到 object,则可以使用
"body": {
"fileContent": "@base64(triggerBody())",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
}
在 SFTP 文件夹中添加或修改新文件时,我必须将文件名和文件内容传递给 Azure 函数。我能够传递它们,但文件内容正在作为复杂类型 json 传递,如下所示:
{
"fileContent": {
"$content-type": "application/octet-stream",
"$content": "QWxvZnQgQidoYW0gU29obyBTcSAgICAg=="
},
"fileName": "testFile"
}
我只需要将 $content 传递给 Azure Function。我目前的代码在logic app
中如下"body": {
"fileContent": "@triggerBody()",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
},
我如何才能将 FileContent 中的内容仅传递给 Azure 函数?
如您所见,您正在获取一个 $content 属性,因此您只需要访问该 属性,因为 Base64 编码,您需要对其进行解码。试试这个
"body": {
"fileContent": "@base64ToString(triggerBody()['$content'])",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
},
HTH
您应该可以只传递内容 as-is。逻辑应用程序将解码数据并将其作为二进制传递给 azure 函数(假设该函数可以接受二进制内容)。您可以将文件名作为 header.
传递如果要将内容作为 属性 附加到 object,则可以使用
"body": {
"fileContent": "@base64(triggerBody())",
"fileName": "@triggerOutputs()['headers']['x-ms-file-name']"
}