使用Logic Apps從Azure Blob存儲中刪除超過X天的文件

來源: 51CTO
作者:wuyvzhang
時間:2021-04-25
17722
假定我們有某個應用程序會將文件存儲到Azure Blob中,存儲在Blob中的數(shù)據(jù)保存七天,七天以后需要對其進行刪除。這需求可以使用Azure PowerShell Runbook來完成,但是我想看看是否可以用很少甚至沒有代碼來完成。經(jīng)過一番探索我發(fā)現(xiàn)Azure Logic App非常適合這種情況。你可以用Logic App創(chuàng)建一些強大的東西。因此,在本文中,我將向各位展示如何在使用Logic App刪除Blob中超過X天的文件。

假定我們有某個應用程序會將文件存儲到Azure Blob中,存儲在Blob中的數(shù)據(jù)保存七天,七天以后需要對其進行刪除。這需求可以使用Azure PowerShell Runbook來完成,但是我想看看是否可以用很少甚至沒有代碼來完成。經(jīng)過一番探索我發(fā)現(xiàn)Azure Logic App非常適合這種情況。你可以用Logic App創(chuàng)建一些強大的東西。因此,在本文中,我將向各位展示如何在使用Logic App刪除Blob中超過X天的文件。

至于Logic App如何創(chuàng)建,在此我就不做過多的說明了,各位如果有興趣可以參考我之前的Blog。當我們創(chuàng)建好Logic App以后打開新的邏輯應用程序。我們應該會看到“邏輯應用程序設計器”,點擊“邏輯應用程序設計器”—“ Blank Logic App”:

efca4045842998a06ca148c3f6e8ff31.jpg

在搜索連接器和觸發(fā)器框中搜索“Recurrence”,單擊“Recurrence”觸發(fā)器:

a46201eadcd35a576d40cf58ae30ceea.jpg

將間隔設置為您希望邏輯應用程序每隔幾天運行一次。在此我選擇每天都運行,然后單擊“顯示高級選項”。在這里選擇我們希望邏輯應用程序運行的時區(qū)和時間。我選擇了UTC+8和midnight。完成后單擊下一步。

135a34f1e6b08c28f95af536681ead54.jpg

在搜索連接器和觸發(fā)器框中搜索“blob”,單擊“List blobs”觸發(fā)器:

4e635af47b5ca72c6100ad2d56416433.jpg

輸入連接名。我們會看到一個存儲帳戶列表,單擊要清理的存儲帳戶。然后點擊創(chuàng)建,現(xiàn)在要求我們指定Container。單擊文件夾圖標,然后選擇要清理的Container:

26bcdbf422ac2ec8b0cae897c9ba470f.jpg

在搜索連接器和觸發(fā)器框中搜索“Filte”,單擊“Filter array”觸發(fā)器:

deab8a709b4ebd5883b4ade7cff7b4f3 (1).jpg

選擇list blobs下的Value:

c8938c7f3098c394e25e5c755284d77f.jpg

單擊“ 在高級模式下編輯”,然后鍵入以下內容以清除超過7天的文件。然后單擊下一步:

@less(item()?['LastModified'], addDays(utcNow(), -7))

登錄后復制

eca51d47dd55a21095e55c03b52f5aac.png

在搜索連接器和觸發(fā)器框中搜索“For each”,單擊“For each”觸發(fā)器:

e182e8f144034401f26eb0cf7fd7b612.png

選擇Filter array下的“Body”:

50afa4865120562c81ae8160a6903094.jpg

單擊“ 添加操作”。

ba0c81e190ab1ec16573eeadaed97d59.png

搜索“Delete blob”,點擊“Delete Blob”:

f6b2aa2dbb11c2542a1db0d745c6edc2.png

選擇“Path”:

f29811a7dbd7af84c6dc0833cf78dedf.jpg

到此我們的logic app就已經(jīng)設計完成,點擊保存即可:

3e6b6777a7732792ebfb7f5aa537b112.jpg

讓我們測試一下Logic App,確保它能夠正常攻錯。正如您在我的Blob存儲中看到的,我有一些文件,它們有不同的修改日期,很大一部分是超過7天的。

2ff906e5f7832b9c9354cad4ec1dc4fe.jpg

對于剛剛創(chuàng)建的Logic app我們如果想要立即運行只需要點擊“Run Trigger”就可以了:

7dbe49eb5b2f6e09a884f4395c8e290c.jpg

點擊運行以后可以在下方看到運行記錄:

1d8c5c29a6f7ebe6dc5953347a9a34f4.jpg

運行完成后我們返回blob可以看到在7天前創(chuàng)建的文件均已被刪除:

79d108d03c3160b163752ebc24ba24ab.jpg

這種清理Blob存儲中文件的方法非常簡單,并且不需要像使用Azure自動化Runbook那樣需要任何特殊的Azure RunAs帳戶。

立即登錄,閱讀全文
版權說明:
本文內容來自于51CTO,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家