ADF创建管道运行-参数

问题描述

我需要通过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'))

我试图将参数放入有效载荷(主体)中

解决方法

参数可以在体内传递

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'))