簡體   English   中英

Azure 邏輯應用程序可從 Azure blob 容器動態獲取 Blob 內容,而無需在路徑中保存文件名

[英]Azure Logic App to dynamically get Blob contents from Azure blob container without having to save the name of the file in path

我正在使用 Azure 邏輯應用從我的 Azure 容器中獲取 Blob 內容。 Blob 每月以以下格式存儲在我的容器中:- 例如。 mycontainer/invoice/20200101/invoice1.csv、mycontainer/invoice/20200201/invoice2.csv,依此類推。 換句話說,每個月的發票都動態地存儲在我的容器中,並有一個文件夾表示月份和日期,如示例中所示。 (2020-01-01,yyyyMMdd 格式)

到目前為止,我能夠獲取在我的容器中創建的最新文件夾。 在這種情況下是 10 月,因為我們在 10 月。但我希望獲取該文件夾中存在的最新文件。

我目前的工作流程如下:-

當前工作流程

對此有何建議? 謝謝!

我提供了整個邏輯應用程序供您參考,大部分操作與您的相同:

1.邏輯應用概述在此處輸入圖片說明

2.前三個動作在此處輸入圖片說明

3、第四、五動作在此處輸入圖片說明

4.For each ”循環的細節在此處輸入圖片說明

設置變量”中的表達式是int(substring(items('For_each')?['Name'], 0, 8))而“設置變量 3 ”中的表達式是replace(items('For_each')?['Name'], '/', '')

5.最后兩個動作在此處輸入圖片說明

獲取 blob 內容”操作中的最后一個表達式是body('List_blobs_2')?['value'][0]?['Name']

====================================更新============ ====================

1.刪除邏輯應用的最后一個操作“獲取 blob 內容”。

2.然后我們在操作“ List blob 2 ”之后開始。 添加兩個“初始化變量”。 在此處輸入圖片說明

3.添加另一個“ For each ”循環。 請注意:從“ List blob 2 ”中選擇value到“ For each 2 ”但不要從“ List blob ”中選擇value到“ For each 2 ”。 在此處輸入圖片說明

4.For each 2 ”循環中的細節。 在此處輸入圖片說明

兩個fx ticks(...)的表達式都是ticks(items('For_each_2')?['LastModified'])

在“設置變量 5 ”中,也從“列表 blob 2 ”中選擇Name ,但不要從“列表 blob ”中選擇。

5.然后添加“獲取blob內容”操作,如下圖所示。 在此處輸入圖片說明

6.順便說一句:在運行邏輯應用之前,請對邏輯應用中的所有“ For each ”循環操作進行此設置。 否則,結果可能不正確。

單擊“For each”動作的...按鈕並單擊“設置”,啟用Concurrency Control並將Degree of Parallelism設置為1 在此處輸入圖片說明

您可以從 BLOB 到邏輯應用程序運行事件網格觸發器。 一旦新文件保存在 BLOB 中,它就可以將事件發布到事件網格,您的邏輯應用程序可以在其中訂閱該事件,然后您就可以運行您的工作流。 您可以在每次保存文件時觸發邏輯應用工作流,而不是以這種方式進行循環。

此處了解有關事件網格的更多信息。

暫無
暫無

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

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