假定咱们有某个应用程序会将文件存储到Azure Blob中,存储在Blob中的数据保存七天,七天之后须要对其进行删除。这需求可使用Azure PowerShell Runbook来完成,可是我想看看是否能够用不多甚至没有代码来完成。通过一番探索我发现Azure Logic App很是适合这种状况。你能够用Logic App建立一些强大的东西。所以,在本文中,我将向各位展现如何在使用Logic App删除Blob中超过X天的文件。app
至于Logic App如何建立,在此我就不作过多的说明了,各位若是有兴趣能够参考我以前的Blog。当咱们建立好Logic App之后打开新的逻辑应用程序。咱们应该会看到“逻辑应用程序设计器”,点击“逻辑应用程序设计器”—“ Blank Logic App”:less
在搜索链接器和触发器框中搜索“Recurrence”,单击“Recurrence”触发器:ide
将间隔设置为您但愿逻辑应用程序每隔几天运行一次。在此我选择天天都运行,而后单击“显示高级选项”。在这里选择咱们但愿逻辑应用程序运行的时区和时间。我选择了UTC+8和midnight。完成后单击下一步。测试
在搜索链接器和触发器框中搜索“blob”,单击“List blobs”触发器:设计
输入链接名。咱们会看到一个存储账户列表,单击要清理的存储账户。而后点击建立,如今要求咱们指定Container。单击文件夹图标,而后选择要清理的Container:3d
在搜索链接器和触发器框中搜索“Filte”,单击“Filter array”触发器:blog
选择list blobs下的Value:ip
单击“ 在高级模式下编辑”,而后键入如下内容以清除超过7天的文件。而后单击下一步:get
@less(item()?['LastModified'], addDays(utcNow(), -7))
在搜索链接器和触发器框中搜索“For each”,单击“For each”触发器:it
选择Filter array下的“Body”:
单击“ 添加操做”。
搜索“Delete blob”,点击“Delete Blob”:
选择“Path”:
到此咱们的logic app就已经设计完成,点击保存便可:
让咱们测试一下Logic App,确保它可以正常攻错。正如您在个人Blob存储中看到的,我有一些文件,它们有不一样的修改日期,很大一部分是超过7天的。
对于刚刚建立的Logic app咱们若是想要当即运行只须要点击“Run Trigger”就能够了:
点击运行之后能够在下方看到运行记录:
运行完成后咱们返回blob能够看到在7天前建立的文件均已被删除:
这种清理Blob存储中文件的方法很是简单,而且不须要像使用Azure自动化Runbook那样须要任何特殊的Azure RunAs账户。