Развертывание AppService с параметром типа «массив», подставляемым как настройка приложения «Слот для веб-сайта», завершается ошибкой со следующей ошибкой.
2019-10-20T10:25:46.0572018Z ##[error]BadRequest: {
"Code": "BadRequest",
"Message": "HTTP request body must not be empty.",
"Target": null,
"Details": [
{
"Message": "HTTP request body must not be empty."
},
{
"Code": "BadRequest"
},
{
"ErrorEntity": {
"ExtendedCode": "51016",
"MessageTemplate": "HTTP request body must not be empty.",
"Parameters": [],
"Code": "BadRequest",
"Message": "HTTP request body must not be empty."
}
}
],
"Innererror": null
}
Используемый шаблон приведен ниже. Когда параметр Email__ToEmailAddress изменяется на строковый тип, развертывание завершается успешно, но как тип массива происходит сбой. Передача пустого массива или массива с более чем одним значением не имеет значения.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"aseName": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"webAppName": {
"type": "string"
},
"appInsightsLocation": {
"type": "string"
},
"slotName": {
"type": "string"
},
"gatewayIPAddressRestriction": {
"type": "string"
},
"containerRegistryName": {
"type": "string"
},
"containerImageName": {
"type": "string"
},
"containerRegistryResourceGroup": {
"type": "string"
},
"vNetName": {
"defaultValue": "",
"type": "string"
},
"vNetResourceGroupName": {
"defaultValue": "",
"type": "string"
},
"Email__ToEmailAddress": {
"defaultValue": [
"email@domain.com"
],
"type": "array"
},
"Email__FromEmailAddress": {
"defaultValue": "email@domain.com",
"type": "string"
},
"Email__SmtpServerPort": {
"defaultValue": 2525,
"type": "int"
},
"Email__IsAuthenticationRequired": {
"defaultValue": false,
"type": "bool"
}
},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-02-01",
"name": "[tolower(parameters('webAppName'))]",
"location": "[resourceGroup().location]",
"tags": {
"[concat('hidden-related:', '/subscriptions/', subscription().subscriptionId,'/resourcegroups/', resourceGroup().name, '/providers/Microsoft.Web/serverfarms/', tolower(parameters('hostingPlanName')))]": "empty"
},
"resources": [
{
"apiVersion": "2016-08-01",
"type": "config",
"name": "web",
"dependsOn": [
"[tolower(parameters('webAppName'))]"
]
}
],
"properties": {
"name": "[tolower(parameters('webAppName'))]",
"serverFarmId": "[concat('/subscriptions/', subscription().subscriptionId,'/resourcegroups/', resourceGroup().name, '/providers/Microsoft.Web/serverfarms/', tolower(parameters('hostingPlanName')))]",
"hostingEnvironment": "[parameters('aseName')]"
},
"dependsOn": [
"[resourceId('microsoft.insights/components/', tolower(parameters('webAppName')))]"
]
},
{
"apiVersion": "2016-08-01",
"type": "Microsoft.Web/sites/slots",
"name": "[concat(tolower(parameters('webAppName')), '/', tolower(parameters('slotName')))]",
"location": "[resourceGroup().location]",
"comments": "This specifies the app service slot deployed to.",
"tags": {
"displayName": "Slot"
},
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]",
"siteConfig": {
"appSettings": [
{
"name": "Email__ToEmailAddress",
"value": "[parameters('Email__ToEmailAddress')]"
},
{
"name": "Email__FromEmailAddress",
"value": "[parameters('Email__FromEmailAddress')]"
},
{
"name": "Email__SmtpServerPort",
"value": "[parameters('Email__SmtpServerPort')]"
},
{
"name": "Email__IsAuthenticationRequired",
"value": "[parameters('Email__IsAuthenticationRequired')]"
}
],
"linuxFxVersion": "[concat('DOCKER|', reference(resourceId(parameters('containerRegistryResourceGroup'), 'Microsoft.ContainerRegistry/registries', parameters('containerRegistryName')), '2017-10-01').loginServer, '/', parameters('containerImageName'))]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', tolower(parameters('webAppName')))]"
]
},
{
"type": "Microsoft.Insights/components",
"name": "[tolower(parameters('webAppName'))]",
"apiVersion": "2014-04-01",
"location": "[parameters('appInsightsLocation')]",
"tags": {
"[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/sites/', tolower(parameters('webAppName')))]": "Resource"
},
"properties": {
"applicationId": "[tolower(parameters('webAppName'))]",
"Request_Source": "AzureTfsExtensionAzureProject"
}
}
]
}
Оцените все ответы.