【发布时间】:2019-03-23 18:27:33
【问题描述】:
我正在尝试自动化配置 Azure 应用服务以将诊断日志导出到 Azure 存储的过程,但我遇到了一些我不太了解的问题。我可以采取以下步骤使其正常工作。
- 我根据documentation 在 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 } }, - 然后我可以使用
config/logs资源在ARM 模板中对sasUrl值进行硬编码,一切仍然有效。我可以先删除存储容器并禁用诊断日志,然后重新部署 ARM 模板来验证这一点。
完成该工作后,我尝试使用 ARM 模板函数 listAccountSas 为存储资源生成新的 SAS。但是,生成的 SAS 格式与我从 Azure 资源浏览器获得的格式略有不同: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 函数是否生成了一个可以代替它工作的令牌?有没有办法自动化这种配置?
【问题讨论】:
标签: azure azure-storage azure-web-app-service