如何解决从 Datafactory 在 VM 上调用“运行命令”的规范方法?
我需要在我的资源组内的 VM 中执行各种批处理脚本。这些脚本的调用需要由 Datafactory 进行编排。
我了解了 VM 中的 Run Command
,可以通过 PowerShell 或 Rest API 使用它。我想知道是否建议将这些方法中的任何一种包含在 Datafactory 管道中。
此时我的方法是使用 Web Activity
进行 API 调用,每个脚本调用一个。
我的问题:有没有更推荐的方法来做到这一点?您是否发现这种方法存在任何瓶颈或情况?
解决方法
我认为这是最简单的实现方式,需要注意的一点是使用Web activity
时的Authentication
,记得选择Managed Identity
,并指定带有 Resource
的 https://management.azure.com/
。
要在 Web activity
中成功调用 REST API - Virtual Machines Run Commands - Run Command
,您还需要将 RBAC 角色授予托管标识 (MSI)。
导航到门户中的订阅或 VM -> Access control (IAM)
-> Add
-> Add role assignment
-> 搜索您的 ADFv2 的名称并将其添加为 {{ 1}} 个角色。
如果您不熟悉托管身份 (MSI),请参阅此 doc。还要确保您的 ADFv2 具有 MSI,通过 Owner/Contributor
或 Azure portal
创建数据工厂时,将始终自动创建托管标识,如果没有,请按照 this 生成托管标识。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。