如何从 Power Automate 触发 Azure ML Pipeline

How to trigger Azure ML Pipeline from Power Automate

我有一个已发布的 Azure ML 管道,我正试图从我拥有的自动流程中触发,该流程在用户编辑文档时触发。由于我有已发布管道的 REST 端点,我认为我应该能够使用 Power Automate 中可用的 HTTP 模块发出 POST 请求来触发管道。

但是,当我实际尝试此操作时,出现身份验证错误。我认为这是因为我需要在 REST 端点中包含一些访问令牌,但我找不到任何文档可以告诉我从哪里获取该令牌。请注意,我不需要将任何数据传递给管道,它会处理自己的数据收集,我实际上只需要一种触发它的方法。

有人知道如何使用 REST 端点触发已发布的 Azure 机器学习管道吗?使用 HTTP 模块是否有意义,或者是否有更好的方法来实现?

所以我按照这篇 Microsoft 文档中包含的说明想出了如何做到这一点: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-manage-rest

具体来说,它需要执行文档中的两个调用;

  • 第一个使用有权访问机器学习实例的 Azure 服务主体获取 AAD 令牌。

curl -X POST https://login.microsoftonline.com//oauth2/token -d "grant_type=client_credentials&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=&client_secret="

  • 第二次使用此令牌从其其余端点触发您的管道。这个我得自己摸索一下,但下面是我使用的基本结构。

curl -X POST {PIPELINE_REST_ENDPOINT} -H "Authorisation:Bearer {AAD_TOKEN}" -H "Content-Type: application/json" -d "{"ExperimentName": "{EXPERIMENT_NAME}","ParameterAssignments": {}}"