public async Task AddAsync <TKey, TValue>(TKey key, TValue value) { var request = new PutItemRequest { TableName = _tableName, Item = SetKeyItems(key, new Dictionary <string, AttributeValue> { { "Value", AttributeValueTypeAccessor <TValue> .CreateValue(value, _settings.Serializer) }, }), Expected = new Dictionary <string, ExpectedAttributeValue> { { "Dictionary", new ExpectedAttributeValue(false) }, { "Key", new ExpectedAttributeValue(false) }, } }; try { var response = await _dynamoDBClient.PutItemAsync(request).ConfigureAwait(false); } catch (ConditionalCheckFailedException ex) { throw new ArgumentException("An item with the same key has already been added.", ex); } }
public async Task AddOrUpdateAsync <TKey, TValue>(TKey key, TValue value) { var request = new PutItemRequest { TableName = _tableName, Item = SetKeyItems(key, new Dictionary <string, AttributeValue> { { "Value", AttributeValueTypeAccessor <TValue> .CreateValue(value, _settings.Serializer) }, }), }; var response = await _dynamoDBClient.PutItemAsync(request).ConfigureAwait(false); }