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