我正在使用postman向azure API发出rest请求,以运行synapse中的管道,就权限和令牌而言,我已经得到了它们,它可以工作,问题是管道接收到3个参数,但我不知道如何传递它们,所以我有这个请求,例如:
https://hvdhgsad.dev.azuresynapse.net/pipelines/pipeName/createRun?api-version=2020-12-01
以及我在正文中添加的参数:
{
"parameters": {
"p_dir": {
"type": "string",
"defaultValue": "val1"
},
"container": {
"type": "string",
"defaultValue": "val"
},
"p_folder": {
"type": "string",
"defaultValue": "val3"
}
}
}
但是当我验证用请求启动的运行时,我得到了这个。
{
"id": "xxxxxxxxxxxxxxx",
"runId": "xxxxxxxxxxxxxxxxxxxxx",
"debugRunId": null,
"runGroupId": "xxxxxxxxxxxxxxxxxxxx",
"pipelineName": "xxxxxxxxxxxxxxxxx",
"parameters": {
"p_dir": "",
"p_folder": "",
"container": ""
},
"invokedBy": {
"id": "xxxxxxxxxxxxxxxxx",
"name": "Manual",
"invokedByType": "Manual"
},
"runStart": "2021-07-20T05:56:04.2468861Z",
"runEnd": "2021-07-20T05:59:10.1734654Z",
"durationInMs": 185926,
"status": "Failed",
"message": "Operation on target Data flow1 failed: {\"StatusCode\":\"DF-Executor-SourceInvalidPayload\",\"Message\":\"Job failed due to reason: Data preview, debug, and pipeline data flow execution failed because container does not exist\",\"Details\":\"\"}",
"lastUpdated": "2021-07-20T05:59:10.1734654Z",
"annotations": [],
"runDimension": {},
"isLatest": true
}
参数是空的,所以我不知道什么是错的或丢失的。正确的传球方法是什么???
参考:https://learn.microsoft.com/en-us/rest/api/synapse/data-plane/pipeline/create-pipeline-run#examples
2条答案
按热度按时间njthzxwz1#
刚刚创建了一个帐户来回答这个问题,因为我有同样的问题。
我解决了这个问题,只在主体JSON中包含变量的名称及其后续值。
例如
通过遵循您发布的文档发现了这一点,在请求主体下,它将变量的名称和值直接传递到JSON主体中。
这个特殊的例子是一个列表/数组,所以如果你传递的是字符串参数,那么它添加了方括号[],这是不必要的,这让我很困惑。
0s0u357o2#
我不能让上面的工作。我有一个带有一个基本参数“note”的管道,它运行一个notebook,该notebook打印出参数“note”。只要我从Synapse GUI触发管道,就可以正常工作。当我使用Postman与{“note”:“API”}在Json原始体中,不应用该参数。它仍然接受我在GUI中分配的“base参数”“note”的值。