我们通过 VNET 集成将多个 Azure Functions 部署到 CAF 订阅中。我们使用 Application Insights 来收集日志。
在日志中我们看到,每 10 分钟就会发出几个请求来访问附加到该函数的存储帐户的存储表。这些请求不是来自我们的代码。我们不使用存储表,403 错误显然是由不存在的表 VNET 配置引起的。这里是来自日志流的请求
2024-12-19T08:21:43Z [信息] 请求 [324dfaa8-04a2-4a4d-ba3a-67835b5201ed] GET https://__redacted__.table.core.windows.net/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata&$filter=%28TableN ame%20ge%20%27AzureFunctionsDiagnosticEvents%27%29%20和%20%28TableName%20le%20%27AzureFunctionsDiagnosticEvents%7B%27%29
2024-12-19T08:21:43Z [警告]错误响应 [324dfaa8-04a2-4a4d-ba3a-67835b5201ed] 403 Forbidden (00.1s) Transfer-Encoding:chunked Server:Windows-Azure-Table/1.0 Microsoft-HTTPAPI/ 2.0 x-ms-request-id:0cd68d5d-1002-002f-12ef-517789000000 x-ms-client-request-id:324dfaa8-04a2-4a4d-ba3a-67835b5201ed x-ms-version:已编辑 X-Content-Type-Options :已编辑日期:12 月 19 日星期四2024 08:21:42 GMT 内容类型:application/json;odata=minimalmetadata;streaming=true;charset=utf-8
请求 AzureFunctionsDiagnosticEvents 中的表名称表明某些诊断设置可能会导致此问题,但我们没有找到任何设置来禁用此行为。这些要求的原因是什么?
请指教。
因为您已启用日志记录,Azure 函数应用程序正在尝试通过创建名为
AzureFunctionsDiagnosticEvents
的新表来记录事件。
表明某些诊断设置可能导致此问题,这些请求的原因是什么?
当您启用如下诊断设置时,会发生这种情况:
但我们没有找到任何设置来禁用此行为。
您可以删除它:
如果您不想删除它,请将 vnet 也集成到存储帐户,并为功能应用程序赋予相应的角色以写入或访问存储帐户。
另请参阅我的答案,了解有关 Vnet 集成的更多信息。