Table.PutItemAsync AWSSDK.DynamoDBv2 всегда возвращает значение null

В приложении .net core 2.1 я добавляю новую запись в таблицу DynamoDB, используя библиотеку Table.PutItemAsync библиотеки AWSSDK.DynamoDBv2 (v3.3.101.18):

var doc = await _table.PutItemAsync(document);

Я вижу, что запись успешно добавлена ​​в консоль AWS, но она всегда возвращает null, тогда как ожидаемое возвращаемое значение должно быть документом:

public Task<Document> PutItemAsync(Document doc, CancellationToken cancellationToken = default);

Интересно, я упускаю что-то очевидное?


person armache    schedule 07.03.2020    source источник
comment
То же самое относится к методу DeleteItemAsync (AWSSDK.DynamoDBv2).   -  person armache    schedule 10.03.2020


Ответы (1)


Вам нужно указать тип перечисления ReturnValues ​​в вашем PutItemOperationConfig и включить эту конфигурацию в ваш запрос. По умолчанию возвращается None. Если вы укажете ReturnValues.AllOldAttributes (единственный другой вариант для этого запроса), вы получите документ с атрибутами старого элемента, если вы перезаписали элемент, или пустой элемент, если вы добавили новый элемент.

        var putItemOperationConfig = new PutItemOperationConfig()
        {
            ReturnValues = ReturnValues.AllOldAttributes
        };
person klaytaybai    schedule 10.03.2020