У вас правильная идея, но файл arm-template-parameters-definition.json должен следовать иерархии элемента, который вы хотите параметризовать.
Вот мой конвейер, который я хочу параметризировать.«URL» должен меняться в зависимости от среды, в которой он развернут в
{
"name": "[concat(parameters('factoryName'), '/ExecuteSPForNetPriceExpiringContractsReport')]",
"type": "Microsoft.DataFactory/factories/pipelines",
"apiVersion": "2018-06-01",
"properties": {
"description": "",
"activities": [
{
"name": "NetPriceExpiringContractsReport",
"description": "Passing values to the Logic App to generate the CSV file.",
"type": "WebActivity",
"typeProperties": {
"url": "[parameters('ExecuteSPForNetPriceExpiringContractsReport_properties_1_typeProperties')]",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"resultSet": "@activity('NetPriceExpiringContractsReportLookup').output"
}
}
}
]
}
}
. Здесь находится файл arm-template-parameters-definition.json, который превращает этот URL в параметр.
{
"Microsoft.DataFactory/factories/pipelines": {
"properties": {
"activities": [{
"typeProperties": {
"url": "-::string"
}
}]
}
},
"Microsoft.DataFactory/factories/integrationRuntimes": {},
"Microsoft.DataFactory/factories/triggers": {},
"Microsoft.DataFactory/factories/linkedServices": {
"*": "="
},
"Microsoft.DataFactory/factories/datasets": {
"*": "="
}
}
Таким образом, в основном в конвейерах шаблона ARM он ищет свойства -> активность -> typeProperties -> URL в JSON и параметризует его.