Ошибка с PartitionKey в веб-API ASP.NET Core 8 с использованием Audit.NET и таблицы хранилища AzureC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка с PartitionKey в веб-API ASP.NET Core 8 с использованием Audit.NET и таблицы хранилища Azure

Сообщение Anonymous »

Я работал над реализацией журнала аудита в веб-API ASP.NET Core 8, используя библиотеку Audit.NET, в частности, с AzureStorageTableDataProvider для хранения событий аудита. Документацию библиотеки можно найти здесь:
https://github.com/thepirat000/Audit.NE ... /README.md
Я столкнулся с проблемой при настройке подключения к хранилищу таблиц Azure. Вот соответствующая часть моей настройки:

Код: Выделить всё

public void AuditSetupOutput(IApplicationBuilder app)
{
var options = new JsonSerializerOptions { WriteIndented = true };

Configuration.Setup()
.JsonSystemAdapter(options)
.UseAzureTableStorage(config => config
.Endpoint(new Uri("https://account.table.core.windows.net"), new DefaultAzureCredential())
.TableName(evt => $"{_TargetTableName}{DateTime.UtcNow:MMMyyyy}")
.ClientOptions(new TableClientOptions { Retry = { MaxRetries = 3 } })
.EntityBuilder(builder => builder
.PartitionKey(auditEvent => auditEvent.EventType)
.RowKey(auditEvent => Guid.NewGuid().ToString("N"))
.Columns(col => col
.FromDictionary(auditEvent => new Dictionary
{
{ "EventType", auditEvent.EventType },
{ "UserName", auditEvent.Environment.UserName },
{ "EventDuration", auditEvent.Duration },
{ "DataSize", auditEvent.ToJson().Length },
{ "Data", auditEvent.ToJson().Length >= 32000 ? CompressAuditEventData(auditEvent.ToJson()) : auditEvent.ToJson() }
})));

var httpContextAccessor = app.ApplicationServices.GetRequiredService();
Configuration.AddCustomAction(ActionType.OnScopeCreated, scope =>
{
scope.SetCustomField("TraceId", httpContextAccessor.HttpContext?.TraceIdentifier);
});
}
Когда я проверяю эту настройку, я получаю следующую ошибку, связанную с PartitionKey:

Параметр PartitionKey со значением GET:https://demoapi.azurewebsites.net/api/product/23 находится вне диапазона RequestId:adb38aea-c002-0061-436d-d408ff000000
Время:2024-07-12T15:08:43.7480899Z

Состояние: 400 (неверный запрос)

Код ошибки: OutOfRangeInput
Содержимое:

{ "odata.error":{"code":"OutOfRangeInput","message":{"lang":"en-US","value":"The 'PartitionKey 'параметр значения 'GET:https://demoapi.azurewebsites.net/api/product/23' находится вне диапазона.\nRequestId:adb38aea-c002-0061-436d-d408ff000000\nTime:2024-07-12T15:08 :43.7480899Z"}}}

Похоже, что значение PartitionKey отклоняется. Есть ли у кого-нибудь идеи о том, почему это может происходить или как решить эту проблему?
Может ли кто-нибудь помочь мне с примером кода, который послужит ссылкой для моей реализации?

Подробнее здесь: https://stackoverflow.com/questions/787 ... azure-stor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Аудит в .NET 6 с помощью библиотеки Audit.NET и Audit.NET.Serilog.
    Anonymous » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core 5 WebAPI — Azure AD — API графа вызовов с использованием токена доступа к рекламе Azure
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между веб-приложением ASP.NET Core (MVC) и веб-приложением ASP.NET (.NET framework) [дубликат]
    Anonymous » » в форуме C#
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»