【问题标题】:ADF Create Pipeline Run - ParametersADF 创建管道运行 - 参数
【发布时间】:2022-02-18 00:08:55
【问题描述】:

我需要通过 REST API 触发 ADF 管道并传递一个参数,以便执行给定 ID(参数)的管道。 由于围绕此的稀疏文档,我无法弄清楚如何将参数传递给 URL

示例:

https://management.azure.com/subscriptions/asdc57878-77fg-fb1e8-7b06-7b0698bfb1e8/resourceGroups/dev-rg/providers/Microsoft.DataFactory/factories/df-datafactory-dev/pipelines/pl_StartProcessing/createRun?api-version=2018-06-01

我尝试在请求正文中发送参数,但我收到以下消息,具体取决于参数的发送方式

{
    "message": "The request entity's media type 'text/plain' is not supported for this resource."
}

我尝试使用 python 请求:

import requests

url = "https://management.azure.com/subscriptions/adsad-asdasd-adasd-adasda-adada/resourceGroups/dev-rg/providers/Microsoft.DataFactory/factories/datafactory-dev/pipelines/pl_Processing/createRun?api-version=2018-06-01"

payload = " \"parameters\": {\r\n     “stateID”: “78787878”\r\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer adsasdasdsad'
}

response = requests.request("POST", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

我尝试将参数放入payload(body)中

【问题讨论】:

  • 您要使用哪个参数? given ID 你的意思是referencePipelineRunId?您能否展示您的完整请求样本,包括正文?
  • 管道需要 Stateid 作为参数。这是一个自定义管道参数而不是 URI 参数
  • 您能用您尝试过的示例请求更新您的问题吗?
  • 添加了示例代码。它是基于 python 的。
  • @JoyWang 对此有何建议?提前致谢

标签: azure-data-factory-2


【解决方案1】:

参数可以在正文中传递

python 示例:

import requests

url = "https://management.azure.com/subscriptions/adsad-asdasd-adasd-adasda-adada/resourceGroups/dev-rg/providers/Microsoft.DataFactory/factories/datafactory-dev/pipelines/pl_Processing/createRun?api-version=2018-06-01"

payload = "{\"stateID\":1200}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer adsasdasdsad'
}

response = requests.request("POST", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

【讨论】:

    【解决方案2】:

    你必须使用参数名称作为帖子

    url = "https://management.azure.com/subscriptions/adsad-asdasd-adasd-adasda-adada/resourceGroups/dev-rg/providers/Microsoft.DataFactory/factories/datafactory-dev/pipelines/pl_Processing/createRun?api-version=2018-06-01 -d '{"stateID"="78787878"}'
    

    微软文档供您参考: https://docs.microsoft.com/en-us/rest/api/datafactory/pipelines/create-run

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案3】:

    您必须将它们作为 POST 正文传递。
    要传递多个参数,主体如下所示:

    {
    

    "param1": "param1value" “参数 2”:“参数 2 值” }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      • 2022-07-15
      • 2020-01-06
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2022-08-18
      相关资源
      最近更新 更多