您好,我创建了新的 azure vm,它将用作 Datafactory 中的自托管运行时。我还在新创建的 Azure 虚拟机中将我的数据工厂指定为
Contributor
角色。
我想从 ADF 本身自动化我的 vm
start
和 deallocate
进程。为此,我在数据工厂中使用了 web activity
和 System-assigned managed identity
进行身份验证。
对于 Azure REST API POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start?api-version=2024-07-01
。
此外,我还启用了
idendity
,以便从 azure 数据工厂访问虚拟机。
问题 一旦 Web 活动使用该剩余 api 运行以从其解除分配状态启动虚拟机,该活动继续循环,没有响应,直到活动超时,但在后台,我的虚拟机从其解除分配状态启动到运行状态,而我没有从网络活动中得到任何响应,这太奇怪了。
但是在关闭虚拟机时,即使使用相同的 API,我也没有问题,它能够将虚拟机从其运行状态中解除分配,并且 API 也会响应一些输出。
这个奇怪的问题困扰了我一段时间。
你能帮我吗?
根据 Start API 和 Deallocate API 文档,
此 API 不会在其响应中返回任何与 VM 相关的输出。
启动虚拟机后,Web 活动将在 1 分钟内成功。您可以在下面看到我创建的与您相同的内容。
开始:
虚拟机已启动:
解除分配:
虚拟机停止:
如果您想自动化此过程,请首先检查虚拟机的状态,然后执行启动/停止虚拟机的过程。首先使用 Web 活动调用实例视图 REST API。然后检查 if 活动中的状态。
在 if 活动的 True 和 False 活动中,让您的 Web 活动启动并释放 VM。
您可以浏览 @David Alzamendi 撰写的博客,了解有关此方法的更多信息。