如何从邮递员触发具有多个参数的Azure数据工厂管道

问题描述 投票:0回答:3

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

azure rest postman azure-api-management azure-data-factory
3个回答
2
投票

你真的需要使用邮递员吗?我已经发布了使用 Powershell 和 Python 执行此操作的示例。

Powershell:如何使用 powershell 将参数传递给 ADF 管道

Python:https://gist.github.com/Gorgoras/1fe534fd9b454412f81c8203c773c483

如果您唯一的选择是使用其余 api,您可以阅读相关内容并在此处获取一些示例:https://learn.microsoft.com/en-us/azure/data-factory/quickstart-create-data-工厂休息 API

希望这有帮助!


2
投票

Azure Docs 没有提供有关如何传递参数的示例,我觉得这很奇怪,在互联网上的其他地方我也没有找到如何通过 REST API 传递多个参数的示例,我猜大多数人使用 ADF shell 来触发它或python 脚本。

无论如何,如果其他人偶然发现了同样的问题,那么这就是解决方案(非常简单)。

首先,创建 Azure 应用程序注册并生成客户端 ID 和客户端密钥值。

通过 REST API 进行身份验证以获取 Bearer Token

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/"'

响应将包含一个 Bearer 令牌,用它来触发管道。替换订阅 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 的贡献者访问权限才能触发管道。


1
投票

您可以通过 API 管理中的策略触发 Azure 数据工厂。

我在此处添加了一个示例:https://github.com/Azure/api-management-policy-snippets/blob/master/examples/Trigger%20Azure%20Data%20Factory%20Pipeline%20With%20Parameters.policy。 xml

© www.soinside.com 2019 - 2024. All rights reserved.