带有 Azure 表存储的 Audit.net
Posted
技术标签:
【中文标题】带有 Azure 表存储的 Audit.net【英文标题】:Audit.net with azure table storage 【发布时间】:2018-12-13 17:09:19 【问题描述】:我如何将审计数据存储在 azure 表存储中,audit.net 提供 (https://github.com/thepirat000/Audit.NET#data-providers-included) 只有sqldataprovider,你能帮帮我吗。
谢谢
【问题讨论】:
写你自己的AuditDataProvider
- github.com/thepirat000/Audit.NET/blob/master/src/…
嗨,alex,我创建了一个自定义审计数据提供程序,感谢您的帮助。
我将很快创建一个可配置的 Azure Table 数据提供程序并将其添加为扩展。实际上它将成为Audit.NET.AzureStorage
包的一部分。
【参考方案1】:
现在您可以使用 Azure Table data provider 将您的审核事件存储在 azure 表上。它包含在版本 12.1.9 的 Audit.NET.AzureStorage 包中。
您可以通过匿名对象或字典动态配置列,或实现您自己的TableEntity 类。
例如:
Audit.Core.Configuration.Setup()
.UseAzureTableStorage(_ => _
.ConnectionString("your cnn string")
.TableName("Events")
.EntityBuilder(e => e
.PartitionKey($"Eventsev.StartDate:yyyyMM")
.Columns(c => c.FromObject(ev => new
Date = ev.StartDate,
User = ev.Environment.UserName,
...
))));
查看自述文件here。
对于其他问题,请注意您也可以open an issue 而不是询问 SO。或询问Audit.NET Gitter chat
【讨论】:
谢谢@thepirat000,但我写了我的自定义提供程序 Audit.Core.Configuration.DataProvider = new AzureTableDataprovider() ConnectionString = ConfigurationManager.ConnectionStrings["AuditDbConnection"].ToString(), Schema = "dbo ", TableName = "tblbateventsauditing", IdColumnName = "EventId", JsonColumnName = "Data" ;【参考方案2】: Audit.Core.Configuration.DataProvider = new AzureTableDataprovider()
ConnectionString = ConfigurationManager.ConnectionStrings["AuditDbConnection"].ToString(),
Schema = "dbo",
TableName = "tblbateventsauditing",
IdColumnName = "EventId",
JsonColumnName = "Data"
;
【讨论】:
以上是关于带有 Azure 表存储的 Audit.net的主要内容,如果未能解决你的问题,请参考以下文章
从 Azure Function App 访问带有防火墙的 Azure Blob 存储