Audit.NET.AmazonQLDB
27.3.2
dotnet add package Audit.NET.AmazonQLDB --version 27.3.2
NuGet\Install-Package Audit.NET.AmazonQLDB -Version 27.3.2
<PackageReference Include="Audit.NET.AmazonQLDB" Version="27.3.2" />
paket add Audit.NET.AmazonQLDB --version 27.3.2
#r "nuget: Audit.NET.AmazonQLDB, 27.3.2"
// Install Audit.NET.AmazonQLDB as a Cake Addin #addin nuget:?package=Audit.NET.AmazonQLDB&version=27.3.2 // Install Audit.NET.AmazonQLDB as a Cake Tool #tool nuget:?package=Audit.NET.AmazonQLDB&version=27.3.2
Audit.NET.AmazonQLDB
Amazon Amazon QLDB provider for Audit.NET library (An extensible framework to audit executing operations in .NET).
Store the audit events in Amazon QLDB tables using the Amazon.QLDB.Driver library.
Install
NuGet Package To install the package run the following command on the Package Manager Console:
PM> Install-Package Audit.NET.AmazonQLDB
Usage
Please see the Audit.NET Readme
Configuration
Set the static Audit.Core.Configuration.DataProvider
property to set the Amazon QLDB data provider, or call the UseAmazonQLDB
method on the fluent configuration. This should be done before any AuditScope
creation, i.e. during application startup.
For example:
Audit.Core.Configuration.DataProvider = new AmazonQldbDataProvider()
{
QldbDriver = Lazy<IQldbDriver>(() => QldbDriver.Builder()
.WithLedger("AuditEvents")
.Build()),
TableNameBuilder = ev => "MyTable"
};
Or even shorter using the constructor overload that accepts a fluent API:
Audit.Core.Configuration.DataProvider = new AmazonQldbDataProvider(config => config
.WithQldbDriver(QldbDriver.Builder()
.WithLedger("AuditEvents")
.Build())
.Table("MyTable"));
Or by using the global setup extension UseAmazonQldb()
:
Audit.Core.Configuration.Setup()
.UseAmazonQldb(config => config
.WithQldbDriver(QldbDriver.Builder()
.WithLedger("AuditEvents")
.Build())
.Table("MyTable"));
You can provide the table name setting as a string or as a function of the Audit Event.
Provider Options
- QldbDriver: The Amazon Qldb driver creator
QldbDriver
. - TableNameBuilder: A function of the audit event that returns the Table Name to use.
- CustomAttributes: A dictionary with additional fields to be included in the document and as custom fields on the audit event.
Fluent API Methods
The provider options can be set with a fluent API described by the following methods:
Connection level
- WithQldbDriver(): Use the given AmazonQLDB driver instance (
QldbDriver
). - chaining UseXXX() as an alternative to
WithQldbDriver()
for having the possibility to build a QldbDriver with one or more options- UseLedger() - use a driver with the given ledger name
- UseAwsCredentials() - use a driver with the given AWS credentials
- UseLogger() - use a driver with the given logger
- UseQldbSessionConfig() - use a driver with the given session config
- UseRetryLogging() - use a driver with logging on retry
Table level
- Table(): To specify the table name (as a string or a function of the audit event).
Attributes level
- SetAttribute(): To specify additional top-level attributes on the document before saving.
Audit.Core.Configuration.Setup()
.UseAmazonQldb(config =>
{
config
.UseLedger("AuditEvents")
.UseQldbSessionConfig(new AmazonQLDBSessionConfig
{
AllowAutoRedirect = true
})
.UseMaxConcurrentTransactions(5)
.And
.Table(ev => ev.EventType)
.SetAttribute("Source", ev => "Production");
});
Query events
This provider implements GetEvent
and GetEventAsync
methods to obtain an audit event by id:
var event = AmazonQldbDataProvider.GetEvent();
The
eventId
parameter on the genericGetEvent(object eventId)
must be of type (ValueTuple<
string, string>
), The first element must be the documentId, and the second element should be the table name.
// Get event with the given documentId and table name
var event = AmazonQldbDataProvider.GetEvent(("GpIvgdXq44f7QRuLLgldYJ", "AuditEvents"));
Constraints
This provider has the following constraints:
- The ledger to store the audit events must exists on AmazonQLDB.
(Note you can add properties to the AuditEvent as Custom Fields with the
SetAttribute()
method on the provider configuration)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Amazon.QLDB.Driver (>= 1.4.1)
- Audit.NET (>= 27.3.2)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
27.3.2 | 83 | 12/11/2024 |
27.3.1 | 77 | 12/10/2024 |
27.3.0 | 86 | 12/8/2024 |
27.2.0 | 86 | 11/23/2024 |
27.1.1 | 84 | 10/28/2024 |
27.1.0 | 87 | 10/24/2024 |
27.0.3 | 94 | 9/25/2024 |
27.0.2 | 108 | 9/19/2024 |
27.0.1 | 109 | 9/4/2024 |
27.0.0 | 100 | 9/3/2024 |
26.0.1 | 129 | 8/22/2024 |
26.0.0 | 109 | 7/19/2024 |
25.0.7 | 89 | 7/4/2024 |
25.0.6 | 103 | 6/24/2024 |
25.0.5 | 99 | 6/18/2024 |
25.0.4 | 123 | 3/24/2024 |
25.0.3 | 133 | 3/13/2024 |
25.0.2 | 115 | 3/12/2024 |
25.0.1 | 111 | 2/28/2024 |
25.0.0 | 126 | 2/16/2024 |
24.0.1 | 137 | 2/12/2024 |
24.0.0 | 115 | 2/12/2024 |
23.0.0 | 222 | 12/14/2023 |
22.1.0 | 1,018 | 12/9/2023 |
22.0.2 | 170 | 12/1/2023 |
22.0.1 | 160 | 11/16/2023 |
22.0.0 | 137 | 11/14/2023 |
21.1.0 | 180 | 10/9/2023 |
21.0.4 | 162 | 9/15/2023 |
21.0.3 | 212 | 7/9/2023 |
21.0.2 | 192 | 7/6/2023 |
21.0.1 | 198 | 5/27/2023 |
21.0.0 | 239 | 4/15/2023 |
20.2.4 | 288 | 3/27/2023 |
20.2.3 | 296 | 3/17/2023 |
20.2.2 | 271 | 3/14/2023 |
20.2.1 | 267 | 3/11/2023 |
20.2.0 | 268 | 3/7/2023 |
20.1.6 | 324 | 2/23/2023 |
20.1.5 | 296 | 2/9/2023 |
20.1.4 | 334 | 1/28/2023 |
20.1.3 | 338 | 12/21/2022 |
20.1.2 | 362 | 12/14/2022 |
20.1.1 | 354 | 12/12/2022 |
20.1.0 | 378 | 12/4/2022 |
20.0.4 | 379 | 11/30/2022 |
20.0.3 | 430 | 10/28/2022 |
20.0.2 | 424 | 10/26/2022 |
20.0.1 | 462 | 10/21/2022 |
20.0.0 | 453 | 10/1/2022 |
19.4.1 | 494 | 9/10/2022 |
19.4.0 | 485 | 9/2/2022 |
19.3.0 | 480 | 8/23/2022 |
19.2.2 | 494 | 8/11/2022 |
19.2.1 | 513 | 8/6/2022 |
19.2.0 | 515 | 7/24/2022 |
19.1.4 | 548 | 5/23/2022 |
19.1.3 | 514 | 5/22/2022 |
19.1.2 | 496 | 5/18/2022 |
19.1.1 | 506 | 4/28/2022 |
19.1.0 | 512 | 4/10/2022 |
19.0.7 | 472 | 3/13/2022 |
19.0.6 | 517 | 3/7/2022 |
19.0.5 | 548 | 1/28/2022 |
19.0.4 | 544 | 1/23/2022 |
19.0.3 | 398 | 12/14/2021 |
19.0.2 | 384 | 12/11/2021 |
19.0.1 | 729 | 11/20/2021 |
19.0.0 | 388 | 11/11/2021 |
19.0.0-rc.net60.2 | 157 | 9/26/2021 |
19.0.0-rc.net60.1 | 198 | 9/16/2021 |
18.1.6 | 457 | 9/26/2021 |
18.1.5 | 458 | 9/7/2021 |
18.1.4 | 428 | 9/6/2021 |
18.1.3 | 474 | 8/19/2021 |
18.1.2 | 538 | 8/8/2021 |
18.1.1 | 443 | 8/5/2021 |
18.1.0 | 495 | 8/1/2021 |
18.0.1 | 536 | 7/30/2021 |
18.0.0 | 520 | 7/26/2021 |
17.0.8 | 509 | 7/7/2021 |
17.0.7 | 527 | 6/16/2021 |
17.0.6 | 487 | 6/5/2021 |
17.0.5 | 491 | 5/28/2021 |
17.0.4 | 442 | 5/4/2021 |
17.0.3 | 451 | 5/1/2021 |
17.0.2 | 478 | 4/22/2021 |
17.0.1 | 460 | 4/18/2021 |
17.0.0 | 511 | 3/26/2021 |
16.5.6 | 497 | 3/25/2021 |
16.5.5 | 472 | 3/23/2021 |
16.5.4 | 582 | 3/9/2021 |
16.5.3 | 442 | 2/26/2021 |
16.5.2 | 440 | 2/23/2021 |
16.5.1 | 474 | 2/21/2021 |
16.5.0 | 467 | 2/17/2021 |
16.4.5 | 474 | 2/15/2021 |
16.4.4 | 485 | 2/5/2021 |
16.4.3 | 470 | 1/27/2021 |
16.4.2 | 502 | 1/22/2021 |
16.4.1 | 545 | 1/21/2021 |
16.4.0 | 525 | 1/11/2021 |
16.3.3 | 529 | 1/8/2021 |
16.3.2 | 560 | 1/3/2021 |
16.3.1 | 514 | 12/31/2020 |
16.3.0 | 472 | 12/30/2020 |
16.2.1 | 511 | 12/27/2020 |
16.2.0 | 906 | 10/13/2020 |
16.1.5 | 701 | 10/4/2020 |
16.1.4 | 609 | 9/17/2020 |
16.1.3 | 674 | 9/13/2020 |
16.1.2 | 561 | 9/9/2020 |
16.1.1 | 568 | 9/3/2020 |
16.1.0 | 575 | 8/19/2020 |
16.0.3 | 606 | 8/15/2020 |
16.0.2 | 605 | 8/9/2020 |
16.0.1 | 662 | 8/8/2020 |
16.0.0 | 626 | 8/7/2020 |
15.3.0 | 639 | 7/23/2020 |
15.2.3 | 579 | 7/14/2020 |