使用Postman触发Azure数据工厂管道

soat7uwm  于 2023-03-09  发布在  Postman
关注(0)|答案(1)|浏览(196)

我有点迷路了,我正在尝试使用以下命令手动触发管道:
开机自检https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun?api-version=2018-06-01
我使用以下代码生成访问令牌:

但我遇到了以下错误:

我不确定它是否相关,但我被分配为数据工厂贡献者角色,我可以制作管道,但我不能发布它们。但令牌没有说它是帐户相关的,所以。
我不确定我的客户端ID和客户端密码是否正确,它与用于数据库相同订阅但不同资源组的ID和密码相同。
我如何才能获得正确的访问令牌,或者这是否可能?

wf82jlnq

wf82jlnq1#

我尝试在我的环境中重现相同的结果,结果如下:

我注册了一个Azure AD应用程序并添加了API permission,如下所示:

现在,我通过Postman生成了访问令牌,与您相同,参数如下:

GET https://login.microsoftonline.com/<tenantID>/oauth2/token

grant_type:client_credentials
client_id: <appID>
client_secret: <secret>
resource: https://management.azure.com/
    • 答复:**

当我通过Postman包含上述访问令牌来运行相同的查询以触发Azure Data Factory管道时,我收到了相同的错误,如下所示:

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun?api-version=2018-06-01
    • 答复:**

解决错误,您需要在生成访问令牌之前,将Data Factory Contributor角色分配给错误响应中具有客户端ID的服务主体/应用程序。

  • 转到Azure门户-〉数据工厂-〉你的数据工厂-〉访问控制(IAM)-〉添加角色分配 *

将角色分配给服务主体后,再次生成访问令牌并使用它运行查询。
当我使用新的访问令牌运行查询时,我成功地获得了如下所示的响应

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun?api-version=2018-06-01
    • 答复:**

在您的情况下,请确保将Data Factory Contributor角色分配给服务主体(Azure AD应用程序)以解决该错误。

相关问题