The RethinkDB state store supports transactions which means it can be used to support Dapr actors. Dapr persists only the actor’s current state which doesn’t allow the users to track how actor’s state may have changed over time.
To enable users to track change of the state of actors, this binding leverages RethinkDB’s built-in capability to monitor RethinkDB table and event on change with both the old
and new
state. This binding creates a subscription on the Dapr state table and streams these changes using the Dapr input binding interface.
To setup RethinkDB statechange binding create a component of type bindings.rethinkdb.statechange
. See this guide on how to create and apply a binding configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: changes
spec:
type: bindings.rethinkdb.statechange
version: v1
metadata:
- name: address
value: <REPLACE-RETHINKDB-ADDRESS> # Required, e.g. 127.0.0.1:28015 or rethinkdb.default.svc.cluster.local:28015).
- name: database
value: <REPLACE-RETHINKDB-DB-NAME> # Required, e.g. dapr (alpha-numerics only)
Field | Required | Binding support | Details | Example |
---|---|---|---|---|
address | Y | Input | Address of RethinkDB server | "27.0.0.1:28015" , "rethinkdb.default.svc.cluster.local:28015" |
database | Y | Input | RethinDB database name | "dapr" |
This component only supports input binding interface.