Мне нужно развернуть конкретный ресурс, если в параметре массива более 4 записей. Я могу сделать это с 5 (и более) записями, но мне также нужно, чтобы развертывание не завершалось неудачей с 3 или менее записями, а скорее не создавало этот ресурс вообще. Прямо сейчас я получаю следующую ошибку с 3 или менее записями:
Ошибка: Code = InvalidTemplate; Сообщение = проверка шаблона развертывания
не удалось: определение шаблона «скопировать» в строке «56» и столбце «19»
имеет недопустимое количество копий. Количество копий должно быть положительным целым числом
значение и не может превышать 800. Пожалуйста, смотрите https://aka.ms/arm-copy для
детали использования. '.
Я попытался добавить условие к ресурсу:
...
"resources": [
{
"condition": "[greater(length(parameters('apps')),4)]",
"name": "[concat(parameters('apps')[copyIndex(4)].name,'-webtest')]",
...
и даже:
...
"resources": [
{
"condition": false,
"name": "[concat(parameters('apps')[copyIndex(4)].name,'-webtest')]",
...
но все равно получаю ту же ошибку.
Это шаблон:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"apps": {
"type": "array",
"defaultValue": [
{
"name": "name1",
"value": "111"
},
{
"name": "name2",
"value": "222"
},
{
"name": "name3",
"value": "333"
},
{
"name": "name4",
"value": "444"
},
{
"name": "webtest5",
"value": "555"
}
]
},
"existingApplicationInsightsName": {
"type": "string",
"defaultValue": "appname1"
}
},
"variables": {},
"resources": [
{
"name": "[concat(parameters('apps')[copyIndex(4)].name,'-webtest')]",
"apiVersion": "2015-05-01",
"type": "microsoft.insights/webtests",
"location": "westeurope",
"tags": {
"[concat('hidden-link:', resourceId('microsoft.insights/components/', parameters('existingApplicationInsightsName')))]": "Resource"
},
"properties": {
"SyntheticMonitorId": "[parameters('apps')[copyIndex(4)].name]",
"Name": "[parameters('apps')[copyIndex(4)].name]",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "ping",
"RetryEnabled": true,
"Locations": [
{
"Id": "us-ca-sjc-azr"
}
],
"Configuration": {
"WebTest": "[concat('<WebTest Name=\"', parameters('apps')[copyIndex(4)].name, '\"', ' Id=\"', '9d420f1a-f797-427a-804c-f37373eefc82' ,'\" Enabled=\"True\" CssProjectStructure=\"\" CssIteration=\"\" Timeout=\"0\" WorkItemIds=\"\" xmlns=\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\" Description=\"\" CredentialUserName=\"\" CredentialPassword=\"\" PreAuthenticate=\"True\" Proxy=\"default\" StopOnError=\"False\" RecordedResultFile=\"\" ResultsLocale=\"\"> <Items> <Request Method=\"GET\" Guid=\"a5f10126-e4cd-570d-961c-cea43999a200\" Version=\"1.1\" Url=\"', 'http://www.microsoft.com' ,'\" ThinkTime=\"0\" Timeout=\"300\" ParseDependentRequests=\"True\" FollowRedirects=\"True\" RecordResult=\"True\" Cache=\"False\" ResponseTimeGoal=\"0\" Encoding=\"utf-8\" ExpectedHttpStatusCode=\"', 200 ,'\" ExpectedResponseUrl=\"\" ReportingName=\"\" IgnoreHttpStatusCode=\"False\" /></Items></WebTest>')]"
}
},
"copy": {
"name": "createWebTests",
"count": "[sub(length(parameters('apps')),4)]"
}
}
]
}