当前位置: 首页 > 知识库问答 >
问题:

Azure WebJob SDK,如何使用Azure表而不是AzureWebJobsDashboard中定义的Blob存储

谭建章
2023-03-14

我知道WebJob SDK使用AzureWebJobsDashboard连接中定义的blob存储进行仪表板日志记录。

有没有办法让WebJob SDK使用Azure Storage Table而不是Blob存储来记录到AzureWebJobsDashboard连接的任何仪表板?

更新1:本文展示了日志输出条目在Azure表中的显示方式:

https://docs . Microsoft . com/en-us/azure/app-service-web/websites-dot net-web jobs-SDK-storage-queues-how-to # logs

在Azure表中,Console.Out和Console.Error日志如下所示:

如何将 WebJob SDK 配置为登录到上述 Azure 表?

共有1个答案

微生俊健
2023-03-14

简而言之答案:没有。

据我所知,AzureWebJobsDashboard存储帐户主要由Azure WebJob SDK用于存储WebJobs仪表板中的日志。此连接字符串是可选的,仅当您计划使用仪表板监视 Web 作业时,才需要此连接字符串。

WebJob运行时在此存储帐户下创建两个名为“azure-webjobs-dashboard”和“azure-jobs-host-archive”的容器。WebJob dashboard使用azure-webJobs-dashboard容器来存储主机和执行endpoint(函数)的详细信息。Azure-jobs-host-archive用作执行日志的归档。

webjob SDK不支持将日志存储到表中。

如果您仍然希望将信息记录在表中,我建议您不能设置AzureWebJobsDashboard connectionstring,并在web作业函数中编写一些代码,以便自己将消息存储到表存储中。

更新:

根据您发布的文章,如果您的web应用程序启用了web应用程序诊断日志的应用程序日志记录,它将自动将webjob日志写入azure存储帐户。

但是,应用程序对表存储功能的日志记录已删除新门户。

如果要启用它,应该使用powershell。

更多详细信息,您可以参考以下步骤:

1.创建一个表来存储日志数据。我建议你可以使用azure storage explorer。

2.生成SAS url。

3.After创建,您可以复制sas url。

4.安装azure cli。

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

然后,您可以在表中找到您的日志消息。

但是,我们通常不建议对日志数据使用表——它可能会导致仅追加模式,而这种模式在规模上对表存储无效。

更多详情,请参阅此回复。

 类似资料:
  • 在v11SDK. NET中,我能够使用托管标识令牌来访问Azure blob: 现在我想切换到v12 SDK,但不知道如何对BlobServiceClient进行同样的操作。

  • 我想使用Python中的Azure函数将JSON数据作为. json文件上传到Azure存储Blob。 因为我使用的是Azure函数,而不是实际的服务器,所以我不想(也可能无法)在本地内存中创建一个临时文件,并使用Azure blob存储客户端库v2将该文件上载到Azure blob存储。1对于Python(这里有参考链接)。因此,我想为Azure函数使用输出blob存储绑定(这里有参考链接)。

  • 我正在迁移到“Linux应用服务”。不幸的是,它不支持WebJobs。在这里,它表示不会。它建议使用Azure函数。 我有一个没有触发器的连续应用程序。它应该一直在运行,就像这样: 我应该如何为这样的应用程序利用Azure功能?

  • 如何利用PowerShell打破Blob存储中项目的租约? 当我试图在当前图像上上传内容时,收到以下信息:

  • 我是Azure Databricks的新手,我的导师建议我在 https://aischool.microsoft.com/en-us/machine-learning/learning-paths/AI-platform-engineering-bootcamps/custom-machine-learning-bootcamp 据我所知,Azure Blob存储还没有设置,因此我运行的代码(以

  • 我在Azure中创建了一个虚拟机,然后将其删除。但是,关联的存储帐户仍然存在。我无法删除存储帐户,因为它包含一个容器,其中包含一个具有无限期租约的Blob。 没有其他东西正在使用此存储帐户。 如何删除此Blob?