首页 > 解决方案 > 从 Datafactory 在 VM 上调用“运行命令”的规范方法?

问题描述

我需要执行位于我的资源组内的 VM 中的各种批处理脚本。这些脚本的调用需要由 Datafactory 编排。

我在 VM 中了解到Run Command,可以通过 PowerShell 或 Rest API 使用。我想知道是否建议将这些方法中的任何一种包含在 Datafactory 管道中。

在这一点上,我的方法是使用 aWeb Activity来执行 API 调用,每个脚本一个。

我的问题:有没有更推荐的方法来做到这一点?您是否看到任何瓶颈或情况可能是这种方法的问题?

标签: azure-data-factoryazure-vm

解决方案


我认为这是最简单的实现方式,需要注意的一点是Authentication在使用时Web activity,记得选择Managed Identity,并指定Resourcewith https://management.azure.com/

在此处输入图像描述

Virtual Machines Run Commands - Run Command要在中成功调用 REST API Web activity,您还需要将 RBAC 角色授予托管身份 (MSI)。

导航到门户中的订阅或 VM -> Access control (IAM)-> Add-> Add role assignment-> 搜索 ADFv2 的名称并将其添加为Owner/Contributor角色。

在此处输入图像描述

如果您不熟悉托管身份 (MSI),请参阅此文档。还要确保您的 ADFv2 具有 MSI,通过Azure portal或创建数据工厂时PowerShell,将始终自动创建托管标识,如果没有,请按照生成托管标识。


推荐阅读