我已经创建了一个Azure数据工厂管道,其中有多个管道参数,当管道触发时,我需要一直输入这些参数。现在,我想从我的本地系统中的 Postman 触发此管道,我需要将参数从 Postman 传递到管道。
zd287kbt1#
你真的需要使用postman吗?我已经发布了用Powershell和Python做这件事的例子。Powershell:How to pass arguments to ADF pipeline using powershellPython语言:https://gist.github.com/Gorgoras/1fe534fd9b454412f81c8203c773c483如果你唯一的选择是使用Rest API,你可以在这里读到它并获得一些例子:https://learn.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-rest-api希望这对你有帮助!
rqcrx0a62#
您可以通过API管理中的策略触发Azure数据工厂。我在这里添加了一个示例:https://github.com/Azure/api-management-policy-snippets/blob/master/examples/Trigger%20Azure%20Data%20Factory%20Pipeline%20With%20Parameters.policy.xml
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的贡献者访问权限以触发管道。
3条答案
按热度按时间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
希望这对你有帮助!
rqcrx0a62#
您可以通过API管理中的策略触发Azure数据工厂。
我在这里添加了一个示例:https://github.com/Azure/api-management-policy-snippets/blob/master/examples/Trigger%20Azure%20Data%20Factory%20Pipeline%20With%20Parameters.policy.xml
4nkexdtk3#
Azure Docs没有提供如何传递参数的示例,我觉得这很奇怪,在互联网上也没有其他地方我找到了如何通过REST API传递多个参数的示例,我猜大多数人都使用ADF shell来触发它或Python脚本。
无论如何,如果其他人在同一个问题上绊倒了,那么这里有一个解决方案(这是相当简单的)。
首先,创建Azure应用注册并生成客户端ID和客户端秘密值。
通过REST API进行身份验证以获取承载令牌
响应将包含承载令牌,请使用该令牌触发管道。请替换订阅ID、资源组名称和adf名称。
注意:应用程序应具有ADF的贡献者访问权限以触发管道。