Azure 数据工厂:访问驻留在虚拟网络中的 Web 服务

JJ1*_*180 4 azure azure-data-factory

我的数据工厂 (v2) 管道需要调用驻留在部署到 Azure 的虚拟网络中的 REST 服务。这是一个专用网络,不面向公众。

似乎有 2 个选项:

  1. Web Activity:文档提到它仅适用于公共 URL
  2. Web Hook:文档没有提到任何此类限制,因此推测它确实支持私有访问(?)

但是,当我尝试从 Web Hook 调用我的 URL 时,它会失败并显示错误请求且没有其他详细信息。

我强烈怀疑这与从数据工厂访问专用网络有关,尽管我无法确定这一点。该请求肯定不会到达我的 REST 服务,因此 403 不是来自那里。

因此,我有2个问题:

  1. 数据工厂 Web Hooks 是否可以访问私有虚拟网络
  2. 有什么方法可以更多地记录 Web Hook 正在执行的操作吗?

Ada*_*zak 6

数据工厂 Web Hooks 是否可以访问专用虚拟网络?

不幸的是开箱即​​用没有。数据工厂的工作方式是通过在称为“自动解析集成运行时”的东西上调用管道活动,简单地说,它是 MS 为您提供运行任务所需时间的小型虚拟机。此 VM 未连接到任何 VNet,因此无法访问您的内部资源。

您需要使用自托管集成运行时。这本质上是在虚拟机上运行的数据工厂代理。它可以成为您的 VNet 的一部分。然后,数据工厂将通过该虚拟机代理所有请求。

在此输入图像描述

虽然无法通过 HTTP 调用 Web 操作,但您可以通过 HTTP 数据集上的查找操作以及托管在该自托管集成运行时上的 HTTP 链接服务来欺骗它。我为您做了快速演示,并使用受防火墙保护且仅接受 VNet 流量的 BLOB 进行了测试。

联动服务

在此输入图像描述

http数据集

在此输入图像描述

查找设置

在此输入图像描述

在此输入图像描述

有什么方法可以更多地记录 Web Hook 正在执行的操作吗?

您可以尝试启用诊断设置,但我从未检查过您将获得哪种日志。

在此输入图像描述