gpt4 book ai didi

Azure CLI - 配置应用服务日志

转载 作者:行者123 更新时间:2023-12-03 00:46:10 24 4
gpt4 key购买 nike

我正在尝试使用 Azure CLI 配置 Azure Web 应用程序的应用程序日志记录 (Blob) 和 Web 服务器日志记录(存储)设置。

我使用以下命令创建存储容器:

az storage container create --account-name StorageAccName --name ContainerName --auth-mode login

但是,我无法链接 Web 应用程序中的存储设置以使用新容器。

我在引用文档中找不到任何内容。

https://learn.microsoft.com/en-us/cli/azure/webapp/log?view=azure-cli-latest#az_webapp_log_config

有人有聪明的方法来配置此设置吗?谢谢!

enter image description here

根据 krishg 的答案更新了最终解决方案。

$webAppName = "containerName"
$accountName = "accountName"
$accountKey = "accountKey"

$containerExists = az storage container exists --name $webAppName --account-name $accountName --auth-mode login | ConvertFrom-Json
"Container Exists: " + $containerExists.exists

if (!$containerExists.exists)
{
$container = az storage container create --account-name $accountName --name $webAppName --auth-mode login | ConvertFrom-Json
"Container Created: " + $container.created
}

$sas = az storage container generate-sas --account-name $accountName --expiry "2220-01-01" --name $webAppName --permissions dlrw --account-key $accountKey --start "2020-11-25T12:15:09Z"
$sasUrl = '"https://' + $accountName + '.blob.core.windows.net/' + $webAppName + '?' + $sas.Trim('"') + '"'
"Storage Account Container Shared Access Signature (SAS) URL: "
$sasUrl

$appServiceLogSettings = az webapp log show --name $webAppName --resource-group $resourceGroup | ConvertFrom-Json

$webapplog = az resource update --ids $appServiceLogSettings.id --set properties.applicationLogs.azureBlobStorage.sasUrl=$sasUrl, properties.applicationLogs.azureBlobStorage.retentionInDays="365", properties.applicationLogs.azureBlobStorage.level="Error", properties.httpLogs.azureBlobStorage.sasUrl=$sasUrl, properties.httpLogs.azureBlobStorage.retentionInDays="365", properties.httpLogs.azureBlobStorage.enabled="true", properties.detailedErrorMessages.enabled="true", properties.failedRequestsTracing.enabled="true" | ConvertFrom-Json
"Application Logging (Blob) Level: " + $webapplog.properties.applicationLogs.azureBlobStorage.level
"Application Logging (Blob) RetentionInDays: " + $webapplog.properties.applicationLogs.azureBlobStorage.retentionInDays
"Application Logging (Blob) SAS URL: " + $webapplog.properties.applicationLogs.azureBlobStorage.sasUrl

"Web Server Logging (Blob) Enabled: " + $webapplog.properties.httpLogs.azureBlobStorage.enabled
"Web Server Logging (Blob) RetentionInDays: " + $webapplog.properties.httpLogs.azureBlobStorage.retentionInDays
"Web Server Logging (Blob) SAS URL: " + $webapplog.properties.httpLogs.azureBlobStorage.sasUrl

"Detailed Error Messages: " + $webapplog.properties.detailedErrorMessages.enabled
"Failed Requests Tracing: " + $webapplog.properties.failedRequestsTracing.enabled

最佳答案

我同意,没有在 az webapp log config 中设置存储帐户的选项有点令人失望。但您可以执行以下操作来设置日志配置中的存储设置。

$sas = az storage container generate-sas --account-name mystorageaccount --expiry 2022-01-01 --name mycontainer --permissions dlrw
$sasUrl = 'https://mystorageaccount.blob.core.windows.net/mycontainer?' + $sas.Trim('"')
  • 获取应用服务日志配置的资源 ID。
$logConfigResourceId = az webapp log show --name MyWebApp --resource-group MyResourceGroup --query 'id' -o json
az resource update --ids $logConfigResourceId --set properties.applicationLogs.azureBlobStorage.sasUrl=$sasUrl
az resource update --ids $logConfigResourceId --set properties.httpLogs.azureBlobStorage.sasUrl=$sasUrl
az resource update --ids $logConfigResourceId --set properties.httpLogs.azureBlobStorage.enabled=true

您还可以通过逗号分隔的列表将所有属性更新合并到单个更新中,例如:

az resource update --ids $logConfigResourceId --set properties.applicationLogs.azureBlobStorage.sasUrl=$sasUrl,properties.httpLogs.azureBlobStorage.sasUrl=$sasUrl,properties.httpLogs.azureBlobStorage.enabled=true

enter image description here

要了解日志配置资源的结构(如果想要更新任何其他设置),可以运行 az webapp log show --name MyWebApp --resource-group MyResourceGroup

关于Azure CLI - 配置应用服务日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64984912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com