mirror of https://github.com/dapr/docs.git
Adds docs about using `ttlInSeconds` to actor state store reference API (#3392)
* Adds note about using `ttlInSeconds` to actor state store reference API Signed-off-by: joshvanl <me@joshvanl.dev> * Update daprdocs/content/en/developing-applications/building-blocks/state-management/state-management-overview.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Josh van Leeuwen <me@joshvanl.dev> * Update daprdocs/content/en/reference/api/actors_api.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Josh van Leeuwen <me@joshvanl.dev> * Update daprdocs/content/en/reference/api/actors_api.md Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Josh van Leeuwen <me@joshvanl.dev> * Embed the actor state TTL YouTube video in page Signed-off-by: joshvanl <me@joshvanl.dev> * Update daprdocs/content/en/developing-applications/building-blocks/state-management/state-management-overview.md Co-authored-by: Mark Fussell <markfussell@gmail.com> Signed-off-by: Josh van Leeuwen <me@joshvanl.dev> * Adds Actor State section to actor overview page Signed-off-by: joshvanl <me@joshvanl.dev> --------- Signed-off-by: joshvanl <me@joshvanl.dev> Signed-off-by: Josh van Leeuwen <me@joshvanl.dev> Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Co-authored-by: Mark Fussell <markfussell@gmail.com>
This commit is contained in:
parent
a81883e753
commit
0128abb13a
|
@ -86,6 +86,13 @@ The Dapr actor runtime provides a simple turn-based access model for accessing a
|
|||
- [Learn more about actor reentrancy]({{< ref "actor-reentrancy.md" >}})
|
||||
- [Learn more about the turn-based access model]({{< ref "actors-features-concepts.md#turn-based-access" >}})
|
||||
|
||||
### State
|
||||
|
||||
Transactional state stores can be used to store actor state. To specify which state store to use for actors, specify value of property `actorStateStore` as `true` in the state store component's metadata section. Actors state is stored with a specific scheme in transactional state stores, allowing for consistent querying. Only a single state store component can be used as the state store for all actors. Read the [state API reference]({{< ref state_api.md >}}) and the [actors API reference]({{< ref actors_api.md >}}) to learn more about state stores for actors.
|
||||
|
||||
#### Time to Live (TTL) on state
|
||||
You should always set the TTL metadata field (`ttlInSeconds`), or the equivalent API call in your chosen SDK when saving actor state to ensure that state eventually removed. Read [actors overview]({{< ref actors-overview.md >}}) for more information.
|
||||
|
||||
### Actor timers and reminders
|
||||
|
||||
Actors can schedule periodic work on themselves by registering either timers or reminders.
|
||||
|
@ -105,4 +112,4 @@ This distinction allows users to trade off between light-weight but stateless ti
|
|||
## Related links
|
||||
|
||||
- [Actors API reference]({{< ref actors_api.md >}})
|
||||
- Refer to the [Dapr SDK documentation and examples]({{< ref "developing-applications/sdks/#sdk-languages" >}}).
|
||||
- Refer to the [Dapr SDK documentation and examples]({{< ref "developing-applications/sdks/#sdk-languages" >}}).
|
||||
|
|
|
@ -93,6 +93,9 @@ You can group write, update, and delete operations into a request, which are the
|
|||
|
||||
Transactional state stores can be used to store actor state. To specify which state store to use for actors, specify value of property `actorStateStore` as `true` in the state store component's metadata section. Actors state is stored with a specific scheme in transactional state stores, allowing for consistent querying. Only a single state store component can be used as the state store for all actors. Read the [state API reference]({{< ref state_api.md >}}) and the [actors API reference]({{< ref actors_api.md >}}) to learn more about state stores for actors.
|
||||
|
||||
#### Time to Live (TTL) on actor state
|
||||
You should always set the TTL metadata field (`ttlInSeconds`), or the equivalent API call in your chosen SDK when saving actor state to ensure that state eventually removed. Read [actors overview]({{< ref actors-overview.md >}}) for more information.
|
||||
|
||||
### State encryption
|
||||
|
||||
Dapr supports automatic client encryption of application state with support for key rotations. This is supported on all Dapr state stores. For more info, read the [How-To: Encrypt application state]({{< ref howto-encrypt-state.md >}}) topic.
|
||||
|
@ -178,4 +181,4 @@ Want to skip the quickstarts? Not a problem. You can try out the state managemen
|
|||
- [How-To: Build a stateful service]({{< ref howto-stateful-service.md >}})
|
||||
- Review the list of [state store components]({{< ref supported-state-stores.md >}})
|
||||
- Read the [state management API reference]({{< ref state_api.md >}})
|
||||
- Read the [actors API reference]({{< ref actors_api.md >}})
|
||||
- Read the [actors API reference]({{< ref actors_api.md >}})
|
||||
|
|
|
@ -75,6 +75,14 @@ Persists the change to the state for an actor as a multi-item transaction.
|
|||
|
||||
***Note that this operation is dependant on a using state store component that supports multi-item transactions.***
|
||||
|
||||
When putting state, _always_ set the `ttlInSeconds` field in the
|
||||
metadata for each value, unless there is a state clean up process out of band of
|
||||
Dapr. Omitting this field will result in the underlying Actor state store to
|
||||
grow indefinitely.
|
||||
|
||||
See the Dapr Community Call 80 recording for more details on actor state TTL.
|
||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/kVpQYkGemRc?start=28" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
#### HTTP Request
|
||||
|
||||
```
|
||||
|
@ -109,7 +117,10 @@ curl -X POST http://localhost:3500/v1.0/actors/stormtrooper/50/state \
|
|||
"operation": "upsert",
|
||||
"request": {
|
||||
"key": "key1",
|
||||
"value": "myData"
|
||||
"value": "myData",
|
||||
"metadata": {
|
||||
"ttlInSeconds": "3600"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue