Код: Выделить всё
public async Task UpdateCount()
{
try
{
await _dynamoDbService.UpdateItemAsync(new UpdateItemRequest
{
TableName = _ledgerSummaryTableName,
ExpressionAttributeNames = new Dictionary { { "#inv", "InvAttr"}, {"#Count", "DetCount"} },
ExpressionAttributeValues =
new Dictionary { { ":InvDetCount", new AttributeValue { N = "200" } }},
UpdateExpression = "SET #inv.#Count = :InvDetCount",
Key = new Dictionary
{
{"SubsId", new AttributeValue {S = "12345" },
{"ItemId", new AttributeValue {S = "1_98765"} }
}
});
}
catch (AmazonServiceException exception)
{
_logger.LogError($"Error: UpdateInvoiceDetailCount operation failed for IndexedLedgerSummary table. " + $"{exception.Message}");
throw new AuthenticationException(new Fault
{
Code = AccountErrorCode.UpdateLedgerSummaryItemFailed,
Message = "UpdateInvoiceDetailCount operation failed for IndexedLedgerSummary table. "
}, exception);
}
}
Может кто-нибудь поможет понять, что мне здесь не хватает?
Исключение, которое я получаю: путь к документу, указанный в выражении обновления, недействителен для обновления
Когда я проверил эту ошибку в документах aws, там написано об ошибке выдается, когда в таблице нет этого атрибута для обновления. Но после получения этой ошибки, когда я проверяю таблицу, я вижу, что атрибут имеет правильное значение, обновленное
Подробнее здесь: https://stackoverflow.com/questions/792 ... c-function