首页 > 解决方案 > 通过 Azure 逻辑应用从 Azure 容器中最后修改的文件夹中获取 blob 内容

问题描述

我有一个 Azure 逻辑应用程序,它定期从我的 Azure 存储帐户获取 blob 内容。但是,我的 blob 正在存储在子目录中。例如。MyContainer > 发票 > 20200101 > Invoice1.csv

每个月我的第三个子目录“20200101”都会更改为“20200201”、“20200301”等等。我需要我的逻辑应用程序返回在我的容器中创建的最新文件夹的 blob 内容。对此有何建议?

谢谢!!

标签: azureazure-storageazure-blob-storageazure-logic-apps

解决方案


对于这个要求,请参考下面我的逻辑应用:

1.列出 下的所有文件夹/mycontainer/Invoice/在此处输入图像描述

2.初始化两个Integer类型的变量,一个named,一个maxNumnamed numberFormatOfName在此处输入图像描述

3.使用“For each”循环value上面的“List blobs”。在“For each”循环中,首先numberFormatOfName用表达式设置int(replace(items('For_each')?['Name'], '/', ''))。然后添加一个“If”条件来判断是否numberFormatOfName大于maxNum。如果为真,则设置maxNumwith的值numberFormatOfName在此处输入图像描述

4.在“For each”循环之后,使用另一个“List blobs”列出latest(max number) 文件夹中的所有blob。下面屏幕截图中的表达式是string(variables('maxNum'))在此处输入图像描述

如果您不想要列出 blob,但想要获取 blob 内容。你可以这样做: 在此处输入图像描述

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

运行逻辑应用程序,我得到如下截图所示的结果:

在此处输入图像描述

我在我的 blob 存储中创建了三个文件夹20200101, 。三个 csv 文件的内容是, , . 逻辑应用响应第三个 csv 文件内容。2020020220200303/mycontainer/Invoice111,111222,222333,333333,333

=============================更新2 =================== ==========

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读