У моей команды есть веб-приложение .NET (4.7), работающее в Azure . Прямо сейчас в сети создаются три каталога на диске D - cache, temp и root . Здесь сбрасываются файлы журналов. Меня беспокоит, что эти файлы журналов займут место и приведут к сбою приложения.
Можно ли хранить эти приложения в контейнере больших двоичных объектов, а не в веб-приложении ? Я создал учетную запись хранения с тремя контейнерами (кеш, временный, корневой), использовал Storage Explorer для создания подписей общего доступа (SAS) на каждого контейнер , а затем вставил URL-адрес, сгенерированный для SAS, в настройки приложения для веб-приложения . Я перезапустил приложение , файлы не выгружаются в контейнер.
Что-то мне не хватает, чтобы это работало? Я не разработчик, поэтому не уверен, нужно ли что-то указывать в коде, чтобы это работало. Я заметил, что в web.config было указано местоположение D: \ home ......, поэтому я предположил, что добавление местоположения контейнера будет работать, но я думаю, что нет. Будем очень признательны за любые мысли или предложения.
Попробуйте сделать это с помощью PowerShell, как описано в здесь:
Конфигурация выполняется в 6 шагах.
$sa = Get-AzureRmStorageAccount -ResourceGroupName "loremipsumresourcegroup" -Название "loremipsumstore"
New-AzureStorageContainer -Контекст $sa.Context -Имя "webapp-logs" -ErrorAction Ignore
$sasToken = New-AzureStorageContainerSASToken - Контекст $sa.Context -Имя "webapp-logs" -FullUri -разрешительный взлом -СтартВремя (Получить дату). Дата. -ExpiryTime (Get-Date).Date.AddYears(200)
$webApp = Get-AzureRmWebApp -ResourceGroupName "loremipsumresourcegroup" -Имя "LoremIpsumWebApp"
$appSettings = [ordered] @{} $webapp.SiteConfig.AppSettings | % { $appSettings[$.Name] = $.Value]. $appSettings.DIAGNOSTICS_AZUREBLOBCONTAINERSASURL = [string] $sasToken
Set-AzureRmWebApp -ResourceGroupName "loremipsumresourcegroup". -Имя "LoremIpsumWebApp". -AppSettings $appSettings
Все кредиты на Michaël Hompus