【问题标题】:Get blob contents from last modified folder in Azure container via Azure logic apps通过 Azure 逻辑应用从 Azure 容器中最后修改的文件夹中获取 blob 内容
【发布时间】:2021-02-06 06:09:34
【问题描述】:

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

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

谢谢!!

【问题讨论】:

    标签: azure azure-storage azure-blob-storage azure-logic-apps


    【解决方案1】:

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

    1. 列出/mycontainer/Invoice/ 下的所有文件夹。

    2.初始化两个Integer类型的变量,一个叫maxNum,另一个叫numberFormatOfName

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

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

    如果您不想列出 blob,但您想获取 blob 内容。你可以这样做:

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

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

    我在我的 blob 存储中的 /mycontainer/Invoice 下创建了三个文件夹 202001012020020220200303。三个csv文件的内容分别是111,111222,222333,333。逻辑应用响应第三个 csv 文件内容333,333

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

    【讨论】:

    • 嘿@Hury,感谢您的回复!这种方法是否经过测试?
    • @SD4 当然可以。我在我身边测试它,它工作正常。
    • @SD4 我用逻辑应用的运行结果更新了我的答案。
    • 太棒了@Hury!我现在试试这个。您能否直接从动作触发器分享您的整个工作流程的屏幕截图?只是想看看我的。
    • 另外@Hury,如果我的文件夹保存为 20201001-20201031 和 20201101-20201130(月份格式,开始日期到结束日期),我该如何设置表达式。有什么想法吗?
    猜你喜欢
    • 2019-05-09
    • 2021-02-18
    • 2017-09-21
    • 2018-07-08
    • 2021-02-03
    • 2011-07-31
    • 2018-04-13
    • 2016-07-15
    • 2020-06-25
    相关资源
    最近更新 更多