Удаление в DynamoDB через c # AWS SDK - PullRequest
0 голосов
/ 18 января 2019

Получение сообщения об ошибке «Произошла одна или несколько ошибок. (Атрибут ключа MyID должен быть примитивного типа» при попытке удаления из DynamoDB в c #

  foreach (var doc in docs)
                    {
                        Logger.LogInformation($"Deleting docs:");
                        await DynamoDbService.DeleteListFromTableAsync(new List<Document> { doc }, requestData.tableName);
                        Logger.LogInformation($"Deleted Docs.");                        
                    }

DynamoDbService.DeleteListFromTableAsync запускает функцию batchWrite.AddItemToDelete для данного документа.

Кто-нибудь знает, почему я получаю эту ошибку и как ее устранить?

1 Ответ

0 голосов
/ 13 марта 2019

Не зная кода ваших пользовательских функций или самой модели, трудно сказать. Но ошибка говорит нам о том, что ключ должен иметь примитивное (строковое, числовое или двоичное) значение, а это не так.

Согласно документации,

При создании таблицы или вторичного индекса вы должны указать имена и типы данных каждого атрибута первичного ключа (ключ раздела и ключ сортировки). Кроме того, каждый атрибут первичного ключа должен быть определен как строка типа, число или двоичный файл.

Ознакомьтесь с документами AWS по «Динамо» здесь

Если бы вы могли опубликовать свою модель и лежащий в ее основе код, было бы легче определить фактическую проблему.

...