# DynamoDBStorage.PutEntryAsync(string, Dictionary&lt;string, AttributeValue&gt;, string, Dictionary&lt;string, AttributeValue&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions.dynamodb/orleans.transactions.dynamodb.dynamodbstorage/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.transactions.dynamodb/orleans.transactions.dynamodb.dynamodbstorage/methods/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/AWS/Shared/Storage/DynamoDBStorage.cs#L486-L504)

```csharp
public Task PutEntryAsync(string tableName, Dictionary<string, AttributeValue> fields, string conditionExpression = "", Dictionary<string, AttributeValue>? conditionValues = null)
```

Create or Replace an entry in a DynamoDB Table

### Parameters

- `tableName` (`string`): The name of the table to put an entry
- `fields` (`Dictionary<string, AttributeValue>`): The fields/attributes to add or replace in the table
- `conditionExpression` (`string`): Optional conditional expression
- `conditionValues` (`Dictionary<string, AttributeValue>`): Optional field/attribute values used in the conditional expression
