Azure WebJob SDK,如何使用 Azure Table 而不是 AzureWebJobsDashboard 中定义的 Blob 存储
Azure WebJob SDK, how use Azure Table instead of Blob storage defined in AzureWebJobsDashboard
我了解 WebJob SDK 使用 AzureWebJobsDashboard 连接中定义的 blob 存储进行仪表板日志记录。
有什么方法可以让 WebJob SDK 使用 Azure 存储 Table 而不是 Blob 存储来登录到 AzureWebJobsDashboard 连接的任何仪表板?
更新 1:
本文展示了日志输出条目如何出现在 Azure Table:
And in an Azure table the Console.Out and Console.Error logs look like this:
如何配置 WebJob SDK 以像上面那样登录到 Azure table?
简而言之:没有。
据我所知,AzureWebJobsDashboard 存储帐户主要由 Azure WebJob SDK 用于存储来自 WebJobs 仪表板的日志。此连接字符串是可选的,仅当您计划使用仪表板监视 WebJobs 时才需要。
WebJob 运行时在此存储帐户下创建两个容器,名称为“azure-webjobs-dashboard”和“azure-jobs-host-archive”。 WebJob 仪表板使用 azure-webJobs-dashboard 容器来存储主机和执行终结点(函数)详细信息。 Azure-jobs-host-archive 用作执行日志的存档。
webjob SDK 不支持将日志存储到 table。
如果你仍然想在 table 中记录信息,我建议你可以不设置 AzureWebJobsDashboard connectionstring 并在你的 web 作业函数中编写一些代码来将消息存储到 table自己保管。
更新:
根据您发布的文章,如果您的网络应用程序启用网络应用程序诊断日志的应用程序日志记录如下,它将自动将网络作业日志写入 Azure 存储帐户。
但是登录到 table 存储功能的应用程序已删除新门户。
如果你想启用它,你应该使用powershell。
更多详情,您可以参考以下步骤:
1.Create一个table来存储日志数据。我建议你可以使用 azure storage explorer.
2.Generate SAS url.
3.After 已创建,您可以复制 sas url.
5.Run 以下命令:
Login-AzureRmAccount
$PropertiesObject = @{applicationLogs=@{azureTableStorage=@{level="Verbose";sasUrl="yourtableSASurl"}}}
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName "yourresourcegroupname" -ResourceType Microsoft.Web/sites/config -ResourceName "webappname/logs" -ApiVersion 2015-08-01 -Force
然后您可以在 table.
中找到您的日志消息
但是,我们通常不建议对日志数据使用 Tables - 它会导致仅附加模式无法有效地用于 Table 存储。
更多细节,你可以参考这个reply。
我了解 WebJob SDK 使用 AzureWebJobsDashboard 连接中定义的 blob 存储进行仪表板日志记录。
有什么方法可以让 WebJob SDK 使用 Azure 存储 Table 而不是 Blob 存储来登录到 AzureWebJobsDashboard 连接的任何仪表板?
更新 1: 本文展示了日志输出条目如何出现在 Azure Table:
And in an Azure table the Console.Out and Console.Error logs look like this:
如何配置 WebJob SDK 以像上面那样登录到 Azure table?
简而言之:没有。
据我所知,AzureWebJobsDashboard 存储帐户主要由 Azure WebJob SDK 用于存储来自 WebJobs 仪表板的日志。此连接字符串是可选的,仅当您计划使用仪表板监视 WebJobs 时才需要。
WebJob 运行时在此存储帐户下创建两个容器,名称为“azure-webjobs-dashboard”和“azure-jobs-host-archive”。 WebJob 仪表板使用 azure-webJobs-dashboard 容器来存储主机和执行终结点(函数)详细信息。 Azure-jobs-host-archive 用作执行日志的存档。
webjob SDK 不支持将日志存储到 table。
如果你仍然想在 table 中记录信息,我建议你可以不设置 AzureWebJobsDashboard connectionstring 并在你的 web 作业函数中编写一些代码来将消息存储到 table自己保管。
更新:
根据您发布的文章,如果您的网络应用程序启用网络应用程序诊断日志的应用程序日志记录如下,它将自动将网络作业日志写入 Azure 存储帐户。
但是登录到 table 存储功能的应用程序已删除新门户。
如果你想启用它,你应该使用powershell。
更多详情,您可以参考以下步骤:
1.Create一个table来存储日志数据。我建议你可以使用 azure storage explorer.
2.Generate SAS url.
3.After 已创建,您可以复制 sas url.
5.Run 以下命令:
Login-AzureRmAccount
$PropertiesObject = @{applicationLogs=@{azureTableStorage=@{level="Verbose";sasUrl="yourtableSASurl"}}}
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName "yourresourcegroupname" -ResourceType Microsoft.Web/sites/config -ResourceName "webappname/logs" -ApiVersion 2015-08-01 -Force
然后您可以在 table.
中找到您的日志消息但是,我们通常不建议对日志数据使用 Tables - 它会导致仅附加模式无法有效地用于 Table 存储。
更多细节,你可以参考这个reply。