簡體   English   中英

使用 Azure Function 綁定從 Blob 存儲中獲取多個文件

[英]Get Multiple Files From Blob Storage With Azure Function Bindings

有沒有辦法在不事先知道文件或文件夾名稱的情況下從 azure function 綁定中獲取多個文件? 對於不同的 function 我有這個:

 public async Task<Activity> GetActivity([ActivityTrigger] Activity activity,
     [Blob("activities/migration/{activity.Id}", FileAccess.Read)] Stream activityBlob,
     ILogger log)
 {

 }

這將根據活動 class 中的 id 從遷移文件夾中獲取文件。

但是對於另一個function,文件夾內的一些文件會有大量文件,ids不會提前知道。 所以這不能作為參數傳遞來訪問 blob。

我的問題是,這些綁定是否有“全部獲取”或“遞歸獲取”? 可以在容器中獲取所有文件和文件夾的東西?

如果不是通過綁定,也許是通過代碼?

它不可能通過 blob 輸入綁定,但您可以使用動態輸入綁定從容器中獲取所有文件。請參考以下代碼:-

public async Task<Activity> Run(
            [ActivityTrigger] Activity activity,
            IBinder binder,
            ILogger log)
        {
            var blobs= await binder.BindAsync<IEnumerable<CloudBlockBlob>>(new BlobAttribute(blobPath: $"activities/migration")
            {
                Connection = "AzureWebJobsStorage"
            });
            
        }

這將為您提供容器中所有 blob 的列表,然后您可能可以進一步進行操作,另一種方法是在代碼中的容器引用上使用ListBlobsSegmentedAsync方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM