#azure #pulumi
#azure #pulumi
Вопрос:
Я получаю 2020-10-29T22:27:58.8724283Z I1029 22:27:58.870264 4596 eventsink.go:78] eventSink::Infoerr(<{%reset%}>panic: interface conversion: interface {} is nil, not map[string]interface {} 2020-10-29T22:27:58.8728827Z <{%reset%}>) 2020-10-29T22:27:58.8735984Z I1029 22:27:58.870264 4596 eventsink.go:78] eventSink::Infoerr(<{%reset%}>goroutine 199 [running]: 2020-10-29T22:27:58.8767921Z <{%reset%}>) 2020-10-29T22:27:58.8778359Z I1029 22:27:58.870264 4596 eventsink.go:78] eventSink::Infoerr(<{%reset%}>github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/web.expandAppServiceLogs(0x47f6180, 0xc0013eca00, 0x4, 0x47f6180, 0xc0013eca00, 0x1)
, когда пытаюсь развернуть существующую службу приложений в Azure.
Эта ошибка не позволяет развернуть мой стек в Azure.
var webApi = new AppService(appServiceName, new AppServiceArgs
{
Name = appServiceName,
ResourceGroupName = resourceGroupName,
Identity = new AppServiceIdentityArgs {Type = "SystemAssigned"},
AppServicePlanId = appServicePlanId,
AppSettings =
{
{"WEBSITE_RUN_FROM_PACKAGE", webApiCodeBlob},
{"AzureStorage__AccountName", storageAccountName},
{"AzureStorage__AccountKey", storageAccountPrimaryAccessKey},
{"APPINSIGHTS_INSTRUMENTATIONKEY", appInsightsInstrumentationKey},
{
"APPLICATIONINSIGHTS_CONNECTION_STRING", appInsightsConnectionString
},
{"ApplicationInsightsAgent_EXTENSION_VERSION", "~2"}
},
ConnectionStrings =
{
new AppServiceConnectionStringArgs
{
Name = "AzureServiceBusConnectionString",
Value = serviceBusConnectionString,
Type = "Custom"
},
new AppServiceConnectionStringArgs
{
Name = "BlobStorageConnectionString",
Value = blobConnectionString,
Type = "Custom"
},
new AppServiceConnectionStringArgs
{
Name = "MongoConnectionString",
Value = cosmosAccountConnectionString,
Type = "Custom"
}
},
SiteConfig = new AppServiceSiteConfigArgs
{
AlwaysOn = true,
Cors = new AppServiceSiteConfigCorsArgs
{
AllowedOrigins = allowedOrigins
}
},
Tags = new InputMap<string>()
{
{"team", Team},
{"product", Product},
{"productId", ProductId},
{"environment", environment},
{"service", ServiceName}
},
});
Если служба приложений не существует, она работает с первого раза. Сбой происходит только при развертывании существующей службы приложений. Это происходит только тогда, когда в службе приложений не определен раздел журналов.
Я использую Pulumi 3.28.0
Ответ №1:
Я нашел обходной путь для решения этой проблемы, он основан на этом https://github.com/pulumi/pulumi-azure/issues/383#issuecomment-549192628
Похоже, что когда в службе приложений нет раздела «Настройка журналов», и он пытается преобразовать ваш стек C # во внутреннее представление Pulumi, имеется нулевое значение, которое невозможно сопоставить, откройте ссылку, чтобы увидеть более точные сведения о первопричине этого.
Вот как я смог заставить это работать.
Добавьте раздел журналов в свой AppService
Logs = new AppServiceLogsArgs
{
ApplicationLogs = new AppServiceLogsApplicationLogsArgs
{
AzureBlobStorage = new AppServiceLogsApplicationLogsAzureBlobStorageArgs
{
Level = "Information",
RetentionInDays = 1,
SasUrl = $"${storageAccount.PrimaryBlobEndpoint}{blobSas}"
}
},
HttpLogs = new AppServiceLogsHttpLogsArgs
{
FileSystem = new AppServiceLogsHttpLogsFileSystemArgs
{
RetentionInDays = 1,
RetentionInMb = 100
}
}
},