提问人:Jesús Parra 提问时间:7/19/2023 最后编辑:RithwikBojjaJesús Parra 更新时间:10/18/2023 访问量:268
Azure 逻辑应用 - 如何上传 pdf 内容
Azure logic apps - how to upload pdf content
问:
您好,我有一个查找电子邮件附件的逻辑应用,我发出了 HTTP 请求以将此文件上传到临时 blob 存储中。当我打开我的pdf文件时,它是空的。
我有一个变量,我在其中放置文件内容并将其作为 HTTP 请求中的正文发送,它看起来像这样
我需要上传任何类型的文件,并且只有非文本文件才遇到此问题
答:
0赞
RithwikBojja
7/20/2023
#1
我已经在我的环境中重现,并得到了以下预期结果:
Design:
具有名为“Azure blob 存储
”的连接器(在该连接器中,可以使用名为“创建 blob (V2)”
的操作,如下所示):
Output:
在存储帐户中:
Codeview:
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Create_blob_(V2)": {
"inputs": {
"body": "@variables('var1')",
"headers": {
"ReadFileMetadataFromServer": true
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob_1']['connectionId']"
}
},
"method": "post",
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/files",
"queries": {
"folderPath": "/rithwik",
"name": "rithblob",
"queryParametersSingleEncoded": true
}
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"runtimeConfiguration": {
"contentTransfer": {
"transferMode": "Chunked"
}
},
"type": "ApiConnection"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "var1",
"type": "string",
"value": " $\u0011 W$H: A XPg k\u0003\u0001v i 8 \u001c K5u\u0003 G ƥ\u001d B p b \\ nړ1 $N ;\u000e _x\u0011 / \u0001\t \u0006\u0003*\u001b-N\u001cP` @ ,p zOW5 絒 \u001a\u000e' \u0006 \u0004\u000b R\u000e Z p \u0015 C a\u0017 \f\n ! 6z3 3 \n/ = > \u0005 w@ \u001eX? \u0017 O ` & . _iΓi n +\u000f Hj2_\" k +\u000e\f ç U \u0006 sտ\u0013j/ . o : P W O 95 T $ug \u001fZBm / C\u000e\u0016詷U пb [\u0011 ʒ\n\u000f E %gW# -\n AV//gJ' \u0014~ -\u0004 \u0015 \u001c tpi ͟[qʍi o \u001e \u001e ab\u0001["
}
]
},
"runAfter": {},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {
"$connections": {
"value": {
"azureblob_1": {
"connectionId": "/subscriptions/b83c1ed3/resourceGroups/vrbojja/providers/Microsoft.Web/connections/azureblob-1",
"connectionName": "azureblob-1",
"id": "/subscriptions/b83c1ed3/providers/Microsoft.Web/locations/eastus/managedApis/azureblob"
}
}
}
}
}
0赞
Luis Rigueira
7/20/2023
#2
您可以这样做:
创建一个如下所示的逻辑应用,这意味着你需要有一个存储帐户和一个用于存储文件的容器
如果您没有容器,只需创建一个容器
接下来,如您所见,我正在将一封带有PDF附件的电子邮件从Google帐户发送到Outlook帐户。
在这里你可以看到我已经在Outlook中收到了它
因此,现在逻辑应用将运行,因为它需要带有附件的电子邮件,如果现在检查 blob 容器,可以看到文件在那里,下载后,你将看到它完好无损。
以下是一些图片:
0赞
Sean Savanah
10/18/2023
#3
不确定这是否是严格相同的问题,我使用的是不同的逻辑应用操作,但我能够通过首先将内容从 base64 转换为二进制来解决这个问题 PDF 文件使用 @base64ToBinary
评论