Azure 数据工厂是否适合从非 Azure REST API 下载数据?

Is Azure Data Factory suitable for downloading data from non-Azure REST APIs?

考虑如下数据处理管道:

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

为了在 Azure 中实施这样的管道,第 2 步和第 3 步似乎非常适合作为 Azure Data Factory 活动实施。

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

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

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

从技术上讲,可以 运行 从 ADF 完成整个过程,但我认为这种选择比您可用的其他选项成本更高(相对),因为您会 pay for each activity in Azure Data Factory

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

您可以将以下内容视为易于实施的替代方案: 1 - 创建一个 .NET 控制台应用程序,发布为 WebJob,每天安排 运行。 2 - long-运行ning 控制台应用程序可以查询其余 api,将数据持久化到 azure 存储/documentdb,将消息推入队列,触发 ADF 步骤 2/3 到 运行保存的数据。

我使用 .Net Activity 完全做到了这一点。我需要从 Salesforce api 获取数据。这一直很好地满足我的需求。 Here 是 post 我写了关于创建 .net activity 并将数据存储在 azure 数据湖中的文章。

正如 Newport99 的回答,是的,你会为此承担费用 activity,但我不确定 运行 使用单独的 Web 应用程序来托管 Web 作业的成本效果如何,并且还有 运行 Azure 数据工厂管道。当我最初设计一个解决方案时,WebJob 是我的第一选择,但最终我更喜欢让整个解决方案使用一个 Azure 服务而不是多个。

希望对您有所帮助。

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

Copy data from a REST endpoint by using Azure Data Factory