Я пытаюсь настроить переменную appsettings.json в своей службе приложений, которую можно добавить с помощью двоеточия.
Когда я пытаюсь добавить настройки приложения вручную, это работает
Конфигурация приложения:
Но при попытке добавить с помощью скрипта бицепса не получается.
var dbConnectionString = 'test connection'
resource siteconfigWebjob 'Microsoft.Web/sites/config@2022-03-01' = {
parent: windowsAppService
name: 'appsettings'
properties: {
'ConnectionStrings:DefaultConnection': dbConnectionString
}
}
Я также попробовал эту конфигурацию appSetting в бицепсе службы приложений.
resource windowsAppService 'Microsoft.Web/sites@2022-03-01' = {
name: webjobAppServiceName
location: resourceGroupLocation
kind: 'app'
properties: {
serverFarmId: windowsappServicePlan.id
siteConfig: {
appSettings: [
{
name: 'AzureWebJobsStorage'
value: storageConnectionString
}
{
name: 'MaxCsvFileSizeInBytes'
value: '4194304'
}
Я хочу добавить вложенную конфигурацию в настройки приложения.





При попытке добавить настройку приложения с помощью портала у меня тоже не работает с двоеточием.

По сути, традиционный способ присвоения имени параметра приложения должен включать только буквы, цифры, символы подчеркивания и точки, как показано ниже.
Я использовал приведенное ниже обозначение для названия параметра приложения, а также добавил вложенные параметры приложения, как показано ниже.
'ConnectionStrings_DefaultConnection': dbConnectionString
Вы можете либо добавить настройку приложения в блок siteconfig с поставщиком ресурсов Microsoft.Web/sites, либо добавить отдельный поставщик ресурсов под названием Microsoft.Web/sites/config, как подробно описано ниже.
param webApp string = 'xxx'
param sku string = 'S1'
param linuxFxVersion string = 'php|7.4'
param location string = resourceGroup().location
var webAppName = '${webApp}-webapp'
var appServicePlan = 'AppServicePlan-${webApp}'
resource appService 'Microsoft.Web/serverfarms@2022-03-01' = {
name: appServicePlan
location: location
sku: {
name: sku
}
kind: 'linux'
properties: {
reserved: true
}
}
resource webAppPortal 'Microsoft.Web/sites@2022-03-01' = {
name: webAppName
location: location
kind: 'app'
properties: {
serverFarmId: appService.id
siteConfig: {
appSettings: [
{
name: 'AzureWebJobsStorage'
value: 'xxxx'
}
{
name: 'MaxCsvFileSizeInBytes'
value: '4194304'
}
{
name: 'ConnectionStrings_DefaultConnection'
value: dbConnectionString
}
]
linuxFxVersion: linuxFxVersion
ftpsState: 'FtpsOnly'
}
httpsOnly: true
}
identity: {
type: 'SystemAssigned'
}
}
var dbConnectionString = 'test connection'
resource siteconfigWebjob 'Microsoft.Web/sites/config@2022-03-01' = {
parent: webAppPortal
name: 'appsettings'
properties: {
'ConnectionStrings_DefaultConnection': dbConnectionString
}
}
Развертывание выполнено успешно:



Я попробовал этот метод, и он сработал для меня.
var defaultConnection = 'DefaultConnection'
var tenantConnection = 'TenantConnection'
var applicationInsightConnectionString = 'ApplicationInsightsConnectionString'
var emailProcessorEndpoint = 'EmailProcessorEndpoint'
resource siteconfigWebjob 'Microsoft.Web/sites/config@2022-03-01' = {
parent: windowsAppService
name: 'appsettings'
properties: {
'ConnectionStrings:${defaultConnection}': dbConnectionString
'ConnectionStrings:${tenantConnection}': tenantDbConnection
'ConnectionStrings:${applicationInsightConnectionString}': applicationInsights.properties.ConnectionString
AzureWebJobsDashboard: storageConnectionString
AzureWebJobsStorage: storageConnectionString
MaxCsvFileSizeInBytes: '4194304'
WebsiteUrl: 'https://${frontendAppServiceName}.azurewebsites.net'
'EventGridCredentials:${emailProcessorEndpoint}': emailProcessor.properties.endpoint
}
}
Как это терпит неудачу? Есть ли сообщение об ошибке? Если да, можете ли вы отредактировать свой пост, включив его в него?