【问题标题】:Is Azure Data Factory suitable for downloading data from non-Azure REST APIs?Azure 数据工厂是否适合从非 Azure REST API 下载数据?
【发布时间】:2020-06-03 22:05:18
【问题描述】:

考虑如下数据处理管道:

  1. 从托管在 Internet 上某处的 REST API 获取大量数据并将其保存到数据存储中。
  2. 对持久化数据执行一些复杂的数据转换。
  3. 将数据转换的结果保存在数据存储中。

为了在 Azure 中实现这样的管道,步骤 2 和 3 似乎很适合作为 Azure Data Factory 活动来实现。

我的问题是 - 在 Azure 数据工厂活动中实施第 1 步是否也有意义?

从技术上讲,可能可以编写一个 .Net 活动来执行数据下载和持久性。

【问题讨论】:

    标签: azure azure-data-factory


    【解决方案1】:

    否 - 不要在 Azure 数据工厂活动中实施步骤 1。

    从技术上讲,可以从 ADF 运行整个过程,但我认为该选择比您可用的其他选项更昂贵(相对),因为您将 pay for each activity in Azure Data Factory

    例如,如果在您启动(计划的)活动时,其余 api 没有任何新数据可提供怎么办?你会为此付出代价的。

    您可以考虑以下作为一种易于实施的替代方案: 1 - 创建一个 .NET 控制台应用程序,作为 WebJob 发布,安排每天运行。 2 - 长时间运行的控制台应用程序可以查询其余 api,将数据持久化到 azure storage/documentdb,将消息推送到队列中,从而触发 ADF 步骤 2/3 以针对保存的数据运行。

    【讨论】:

    • 我很好奇您的最后一行“将消息推送到队列中,触发 ADF 步骤 2/3 以针对保存的数据运行。”你有更多关于你是如何做到这一点的信息吗?还是一个例子?
    【解决方案2】:

    我已经使用 .Net Activity 做到了这一点。我需要从 Salesforce api 获取数据。这一直很好地满足我的需求。 Here 是我写的一篇关于创建 .net 活动并将数据存储在 azure 数据湖中的帖子。

    正如 Newport99 的回答是,您将为该活动产生成本,但我不确定运行单独的 Web 应用程序来托管 Web 作业并运行 Azure 数据工厂管道的成本效益如何。当我最初设计一个解决方案时,WebJob 是我的第一选择,但最终我更喜欢让整个解决方案使用一个 Azure 服务而不是多个。

    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      自发布此问题以来,ADF 已有很多改进,包括 REST 连接器。 这是 ADF 目前推荐的方法...

      Copy data from a REST endpoint by using Azure Data Factory

      【讨论】:

      • 我可以 100% 同意!现在(3 年后)ADF 中有这么多很棒的功能......我昨晚刚刚在使用 ADF!
      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2022-08-03
      相关资源
      最近更新 更多