[英]Read files from azure blob storage using python azure functions
[英]How to read multiple files from a storage container in Azure Functions
我有一個 Azure Functions 應用程序 (Python),我必須在其中讀取存儲在 Azure 存儲帳戶 (StorageV2) 中的多個 CSV 文件來驗證它們。
但是,此文件夾中的文件名和 CSV 文件數量會隨着時間而變化。 該應用程序使用 HTTP 綁定觸發,最好動態檢查文件夾的內容,然后按順序處理文件夾中的所有 CSV 文件。
從文檔來看,Azure Functions 似乎對輸入和輸出使用綁定,但是,示例僅顯示(多個)指向單個文件的輸入綁定,而不是任何類型的文件夾/容器。 因為我事先不知道文件的數量和文件名,這將很難實現。
例如:function.json
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"name": "inputcsv",
"type": "blob",
"dataType": "binary",
"path": "samplesCSVs/{singleCSVfile}",
"connection": "MyStorageConnectionAppSetting",
"direction": "in"
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
]
"scriptFile": "__init__.py"
}
是否可以在此處指向文件夾? 或者以另一種方式動態讀取存儲帳戶中的文件?
我能想到的唯一另一種選擇是簡單地提前壓縮所有 CSV 文件,這樣我就可以使用一個輸入綁定到這個壓縮文件,然后將它們解壓到一個臨時文件夾中來處理它們,但這會降低效率。
資料來源:
使用 Azure Blob 觸發器,您只能一對一匹配,新 Blob 的更改或創建將觸發函數的執行。
您可以在容器級別使用事件網格和篩選事件,並使用 Azure 函數來處理該特定事件:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-event-overview
我似乎對 Azure Functions 的工作方式有誤解。 因為它仍然是 Python 代碼,而且 Azure 有一個 Python SDK 可用於連接到存儲帳戶和操作文件,所以這是實現我試圖完成的任務的最佳方式。
Azure Functions 的輸入/輸出綁定似乎僅在使用特定觸發器時才有幫助,但這不是我的問題所必需的。
感謝 zolty13 為我指明了正確的方向。
來源:
https://docs.microsoft.com/en-us/python/api/overview/azure/storage-blob-readme?view=azure-python
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.