【发布时间】:2022-01-25 13:19:33
【问题描述】:
我有 asp.net core 3.1 webapp,它能够使用托管标识访问 Azure blob 存储。 现在我正在尝试让 NLOG 也使用托管标识进行连接(它现在与存储访问密钥一起使用)但我只能找到一个选项,如果它将日志写入带有 NLog.Extensions.AzureAccessToken 或 Microsoft 的 SQL DB .Data.SqlClient 2.0.0.
是否有任何记录器能够使用托管标识连接到 Azure Blob 存储?或者我应该只在 SQL DB 中而不是 blob 中写入日志。
我也知道我可以将连接字符串存储在 keyvault 中并使用托管标识来检索它,但我更愿意找到直接的方法..
【问题讨论】:
-
用于写入 blob 目标:nuget.org/packages/NLog.Extensions.AzureBlobStorage - Docs
-
用于使用托管标识写入 sql-db。然后你可以在 ConnectionString 中使用Authentication。或者你可以使用 github.com/JDetmar/NLog.Extensions.AzureStorage 和 NLog DatabaseTarget - Docs
-
当您为 blob-target 指定
serviceUri-option(例如"https://{account_name}.blob.core.windows.net")时,它将使用从 AzureServiceTokenProvider 获取的托管标识。见Docs -
哇,这很容易……哈哈。非常感谢您花时间向我解释!
标签: asp.net-core logging azure-blob-storage nlog azure-managed-identity