![](/img/trans.png)
[英]How to specify multiple file types for Azure Function Blob Trigger input binding?
[英]Azure Function with HTTP Trigger and Blob Input Binding - can't read JSON files that are in a folder. Possible blob file path error?
我正在使用一個 Azure 函數,它有一個帶有路由參數 {id} 的 HTTP 觸發器,它是我要讀取的 JSON 文件的 fileId。 我正在使用 Blob 輸入綁定來綁定我的 JSON 文件的存儲位置。 JSON 文件存儲在一個名為“conversation”的容器中,然后存儲在一個名為“Conversation”的文件夾中。 文件路徑的示例是"https://<STORAGE_ACCOUNT_NAME>/conversations/Conversation/8da3d7ad3e35273-1aWpKU4rVghHiTaYkjOjVC-eu%7C0000000.json"
下面是我的代碼。
public static class GetConvo
{
[FunctionName("GetConvo")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "getConvo/{id}")] HttpRequest req,
[Blob("conversations/{id}", FileAccess.Read, Connection = "AzureWebJobsStorage")] string json,
ILogger log, string id)
{
log.LogInformation($"File name: {id}");
if (json == null)
{
log.LogInformation($"File {id} not found");
return new NotFoundResult();
}
else
{
log.LogInformation($"Content: {json}");
}
return new OkObjectResult(JsonConvert.DeserializeObject<Message>(json));
如果我將 JSON 文件移動到“Conversation”文件夾之外,上面的代碼可以工作,我可以訪問它並收到 200OK 代碼。
我嘗試將 Blob 輸入綁定路徑更改為“conversations/Conversation/{id}”,如下所示,但這會返回 404 代碼。
[FunctionName("GetConvo")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "getConvo/{id}")] HttpRequest req,
[Blob("conversations/Conversation/{id}", FileAccess.Read, Connection = "AzureWebJobsStorage")] string json,
ILogger log, string id)
這是一個blob輸入路徑問題嗎?
如何使用 azure 函數讀取 blob 容器中文件夾中的 JSON 文件?
@AjgB,是的,Blob 路徑不正確。 您需要提供文件擴展名。
假設該文件直接放在您的“對話”文件夾中。 那么你的 BLOB 輸入綁定應該是 -
[Blob("conversations/{id}.json", FileAccess.Read, Connection = "AzureWebJobsStorage")] string json
注意 blob 路徑中的.json
我發現我的錯誤是什么。
Blob 輸入路徑正確。 這是一個 URL 編碼問題:
https://<STORAGE_ACCOUNT_NAME>/conversations/Conversation/8da3d7ad3e35273-1aWpKU4rVghHiTaYkjOjVC-eu%7C0000000.json
%
未被識別且需要; 將25
放在%
之后解決了這個錯誤:
https://<STORAGE_ACCOUNT_NAME>/conversations/Conversation/8da3d7ad3e35273-1aWpKU4rVghHiTaYkjOjVC-eu%257C0000000.json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.