我有一个数据工厂,该工厂产生一个ARM模板,并具有与其关联的相应CI / CD管道,以将其移至其他环境。我的问题是它生成的ARM模板中包含超过256个参数,因此无法使用。它生成的300个参数中,我只需要其中的20个。
在阅读和研究之后,我发现您可以将arm-template-parameters-definition.json文件放在Source Control系统的根目录中,它将仅生成在其中指定的参数。当我创建一个空文件时,它会生成一个模板参数文件,其中仅包含十几个左右的参数,用于SecureString参数。除了这些参数之外,我还想添加其他一些参数,但是我似乎无法正确获取它们的语法。
有两种类型的参数希望能够添加触发器和链接服务。
以下是我要自定义的linkedService的JSON。我想在下面自定义resourceGroupName属性
{
"name": "[concat(parameters('factoryName'), '/OscDataLake')]",
"type": "Microsoft.DataFactory/factories/linkedServices",
"apiVersion": "2018-06-01",
"properties": {
"annotations": [],
"type": "AzureDataLakeStore",
"typeProperties": {
"dataLakeStoreUri": "https://someplace.azuredatalakestore.net/webhdfs/v1",
"tenant": "12345678-1234-1234-1234-123456789012",
"subscriptionId": "12345678-1234-1234-1234-123456789012",
"resourceGroupName": "osc-dev"
}
},
"dependsOn": []
},
下面是我要自定义的触发器。我想更改以下触发器的作用域属性:
{
"name": "[concat(parameters('factoryName'), '/EventMonthlyFileTrigger')]",
"type": "Microsoft.DataFactory/factories/triggers",
"apiVersion": "2018-06-01",
"properties": {
"annotations": [],
"runtimeState": "Started",
"pipelines": [
{
"pipelineReference": {
"referenceName": "EventMonthly_Pipeline",
"type": "PipelineReference"
},
"parameters": {
"FileName": "@triggerBody().fileName"
}
}
],
"type": "BlobEventsTrigger",
"typeProperties": {
"blobPathBeginsWith": "/batch/",
"blobPathEndsWith": "eventmonthly.csv",
"scope": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/os-App-Rg-01/providers/Microsoft.Storage/storageAccounts/appdevelopment",
"events": [
"Microsoft.Storage.BlobCreated"
]
}
},
"dependsOn": [
"[concat(variables('factoryId'), '/pipelines/EventMonthly_Pipeline')]"
]
}
有人可以为我提供有关ARM参数模板文件的正确语法来自定义这些语法的帮助吗。