【发布时间】: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 对此有何建议?提前致谢