# DynamoDBGrainStorage Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/)

## ClearStateAsync(string, GrainId, IGrainState&lt;T&gt;) {#clearstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-f22a4a29}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/clearstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-f22a4a29/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L252-L285)

```csharp
public Task ClearStateAsync<T>(string grainType, GrainId grainId, IGrainState<T> grainState)
```

Clear / Delete state data function for this storage provider.

### Parameters

- `grainType` (`string`)
- `grainId` (`GrainId`)
- `grainState` (`IGrainState<T>`)

## Close(CancellationToken) {#close-system-threading-cancellationtoken-8fe5b4bf}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/close-system-threading-cancellationtoken-8fe5b4bf/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L112)

```csharp
public Task Close(CancellationToken ct)
```

Shutdown this storage provider.

### Parameters

- `ct` (`CancellationToken`)

## Init(CancellationToken) {#init-system-threading-cancellationtoken-82cf4663}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/init-system-threading-cancellationtoken-82cf4663/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L65-L109)

```csharp
public Task Init(CancellationToken ct)
```

Initialization function for this storage provider.

### Parameters

- `ct` (`CancellationToken`)

## Participate(ISiloLifecycle) {#participate-orleans-runtime-isilolifecycle-33af55cd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/participate-orleans-runtime-isilolifecycle-33af55cd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L59-L60)

```csharp
public void Participate(ISiloLifecycle lifecycle)
```

Adds the provided observer as a participant in the lifecycle.

### Parameters

- `lifecycle` (`ISiloLifecycle`): The observer.

## ReadStateAsync(string, GrainId, IGrainState&lt;T&gt;) {#readstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-b055fa00}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/readstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-b055fa00/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L118-L153)

```csharp
public Task ReadStateAsync<T>(string grainType, GrainId grainId, IGrainState<T> grainState)
```

Read state data function for this storage provider.

### Parameters

- `grainType` (`string`)
- `grainId` (`GrainId`)
- `grainState` (`IGrainState<T>`)

## WriteStateAsync(string, GrainId, IGrainState&lt;T&gt;) {#writestateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-eda42833}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.dynamodb/orleans.storage.dynamodbgrainstorage/methods/writestateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-eda42833/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/AWS/Orleans.Persistence.DynamoDB/Provider/DynamoDBGrainStorage.cs#L159-L180)

```csharp
public Task WriteStateAsync<T>(string grainType, GrainId grainId, IGrainState<T> grainState)
```

Write state data function for this storage provider.

### Parameters

- `grainType` (`string`)
- `grainId` (`GrainId`)
- `grainState` (`IGrainState<T>`)
