我有一个 Azure 逻辑应用,它定期从我的 Azure 存储帐户获取 blob 内容。但是,我的 blob 存储在子目录中。 例如。 MyContainer > 发票 > 20200101 > Invoice1.csv
每个月我的第三个子目录“20200101”都会更改为“20200201”、“20200301”等等。 我需要我的逻辑应用程序返回在我的容器中创建的最新文件夹的 blob 内容。 对此有什么建议吗?
谢谢!!
最佳答案
对于此要求,请参阅下面我的逻辑应用:
1.列出 /mycontainer/Invoice/
下的所有文件夹。
2.初始化两个Integer类型的变量,一个名为maxNum
,另一个名为numberFormatOfName
。
3. 使用“For every”循环上面“List blob”中的值
。在“For every”循环中,首先使用表达式 int(replace(items('For_each')?['Name'], '/', ''))
设置 numberFormatOfName
>。然后添加一个“If”条件来判断numberFormatOfName
是否大于maxNum
。如果为 true,则使用 numberFormatOfName
设置 maxNum
的值。
4. 在“Foreach”循环之后,使用另一个“List blob”列出最新(最大数量)文件夹中的所有 blob。下面屏幕截图中的表达式是string(variables('maxNum'))
。
如果您不想列出 blob,但想要获取 blob 内容。你可以像下面这样做:
================================更新========= =====================
运行逻辑应用程序,我得到的结果如下图所示:
我在 Blob 存储中的 /mycontainer/Invoice
下创建了三个文件夹 20200101
、20200202
、20200303
。三个csv文件的内容分别是111,111
、222,222
、333,333
。逻辑应用响应第三个 csv 文件内容 333,333
。
================================更新2========= ===================
关于azure - 通过 Azure 逻辑应用从 Azure 容器中上次修改的文件夹中获取 Blob 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64495562/