【问题标题】:Using Azure Data Factory to read only one file from blob storage and load into a DB使用 Azure 数据工厂从 blob 存储中仅读取一个文件并加载到数据库中
【发布时间】:2020-09-08 07:35:18
【问题描述】:

我只想从 blob 存储容器中读取一个文件,并在文件到达触发触发器后将其加载到数据库中的复制操作中。

使用 Microsoft 文档,我似乎做的最接近的是按照修改日期的顺序读取所有文件。

有没有人知道在一个文件到达我的 blob 存储后如何读取它?

编辑: 澄清一下,我希望自动读取最新的文件。无需硬编码文件名。

【问题讨论】:

    标签: csv azure-sql-database azure-pipelines azure-blob-storage azure-data-factory


    【解决方案1】:

    您可以在 DataSet 中指定单个 Blob。该值可以是硬编码或变量(使用数据集参数):

    如果您需要在创建/更新新 blob 时运行此过程,您可以使用事件触发器:

    编辑

    根据您添加的“仅最新”,我没有直接的解决方案。通常,您可以使用 Lookup 或 GetMetadata 活动,但它们和表达式语言都不支持排序或排序。一种选择是使用 Azure 函数来确定要处理的文件。

    但是 - 如果您考虑我上面提到的事件触发器,每次它触发文件 (blob) 时都是文件夹中最新的一个。如果你想在一段时间内合并它,这样的事情可能会起作用:

    1. 事件触发器上的逻辑应用程序 1:将 blob 名称存储在日志中 [blob、SQL,任何适合您的]。
    2. Lo​​gic App 2 OR ADF 管道在重复触发时:读取日志以获取“最新”的 blob 名称。

    【讨论】:

    • 谢谢,但是怎么能指向最新的文件而不是硬编码文件名呢?
    • 这绝对是与您最初提出的问题不同的问题,所以我在回答中添加了一些额外的想法。
    猜你喜欢
    • 2017-11-29
    • 2016-08-13
    • 2022-01-12
    • 2021-12-21
    • 2021-06-17
    • 2021-11-25
    • 1970-01-01
    • 2020-03-18
    • 2020-12-22
    相关资源
    最近更新 更多