Я пытаюсь автоматизировать процесс настройки службы приложений Azure для экспорта журналов диагностики в хранилище Azure, но я сталкиваюсь с тем, что не совсем понимаю.Чтобы заставить его работать, я могу предпринять следующие шаги:
- Я настраиваю ведение журнала диагностики на портале Azure в соответствии с документацией .Все выглядит хорошо.Я вижу, как журналы заполняются в контейнерах хранения.
Используя Azure Resource Explorer , я перехожу к ресурсу config/logs
и наблюдаю JSON:
"applicationLogs": {
...
"azureBlobStorage": {
"level": "Information",
"sasUrl": "https://<storagename>.blob.core.windows.net/<container>?sv=YYYY-MM-DD&sr=c&sig=<sig>&st=YYYY-MM-DDTHH:MM:SSZ&se=YYYY-MM-DDTHH:MM:SSZ&sp=rwdl",
"retentionInDays": null
}
},
"httpLogs": {
...
"azureBlobStorage": {
"sasUrl": "https://<storagename>.blob.core.windows.net/<container>?sv=YYYY-MM-DD&sr=c&sig=<sig>&st=YYYY-MM-DDTHH:MM:SSZ&se=YYYY-MM-DDTHH:MM:SSZ&sp=rwdl",
"retentionInDays": null,
"enabled": true
}
},
- Затем я могу жестко закодировать значения
sasUrl
в шаблоне ARM с ресурсом config/logs
, и все по-прежнему работает.Я могу убедиться в этом, сначала удалив контейнеры хранения и отключив диагностические журналы, а затем повторно развернув шаблон ARM.
После того, как это работает, я пытаюсь использовать функцию шаблона ARM listAccountSas
для генерации новогоSAS для ресурса хранения.Однако полученный SAS имеет немного другой формат, чем тот, который я получил в Azure Resource Explorer: sv=YYYY-MM-DD&ss=b&srt=s&sp=rwdl&st=YYYY-MM-DDTHH%3AMM%3ASS.0000000Z&se=YYYY-MM-DDTHH%3AMM%3ASS.0000000Z&spr=https&sig=<sig>
.
Итак, что здесь происходит.Как портал генерирует SAS?Функция listAccountSas
генерирует токен, который будет работать на своем месте?Есть ли способ автоматизировать эту конфигурацию?