如何从postman使用多个参数触发Azure数据工厂管道

qyyhg6bp  于 2022-11-07  发布在  Postman
关注(0)|答案(3)|浏览(169)

我已经创建了一个Azure数据工厂管道,其中有多个管道参数,当管道触发时,我需要一直输入这些参数。现在,我想从我的本地系统中的 Postman 触发此管道,我需要将参数从 Postman 传递到管道。

zd287kbt

zd287kbt1#

你真的需要使用postman吗?我已经发布了用Powershell和Python做这件事的例子。
Powershell:How to pass arguments to ADF pipeline using powershell
Python语言:https://gist.github.com/Gorgoras/1fe534fd9b454412f81c8203c773c483
如果你唯一的选择是使用Rest API,你可以在这里读到它并获得一些例子:https://learn.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-rest-api
希望这对你有帮助!

4nkexdtk

4nkexdtk3#

Azure Docs没有提供如何传递参数的示例,我觉得这很奇怪,在互联网上也没有其他地方我找到了如何通过REST API传递多个参数的示例,我猜大多数人都使用ADF shell来触发它或Python脚本。
无论如何,如果其他人在同一个问题上绊倒了,那么这里有一个解决方案(这是相当简单的)。
首先,创建Azure应用注册并生成客户端ID和客户端秘密值。
通过REST API进行身份验证以获取承载令牌

curl --location --request POST 'https://login.microsoftonline.com/${TENANT_ID}/oauth2/token' \
--form 'grant_type="client_credentials"' \
--form 'client_id="${CLIENT_ID}"' \
--form 'client_secret="${CLIENT_SECRET_VALUE}"' \
--form 'resource="https://management.azure.com/"'

响应将包含承载令牌,请使用该令牌触发管道。请替换订阅ID、资源组名称和adf名称。

curl --location --request POST 'https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP_NAME}/providers/Microsoft.DataFactory/factories/${ADF_NAME}/pipelines/trigger-pipeline-from-rest/createRun?api-version=2018-06-01' \
--header 'Authorization: Bearer ${BEARER_TOKEN}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "date":"2022-08-22",
    "param1":"param1 value",
    "param2":"some-value"
}'

注意:应用程序应具有ADF的贡献者访问权限以触发管道。

相关问题