To setup SQL Server state store create a component of type
apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: <NAME> namespace: <NAMESPACE> spec: type: state.sqlserver version: v1 metadata: - name: connectionString value: <REPLACE-WITH-CONNECTION-STRING> # Required. - name: tableName value: <REPLACE-WITH-TABLE-NAME> # Required. - name: keyType value: <REPLACE-WITH-KEY-TYPE> # Optional. defaults to "string" - name: keyLength value: <KEY-LENGTH> # Optional. defaults to 200. Yo be used with "string" keyType - name: schema value: <SCHEMA> # Optional. defaults to "dbo" - name: indexedProperties value: <INDEXED-PROPERTIES> # Optional. List of IndexedProperties.
Warning以上示例将密钥明文存储， It is recommended to use a secret store for the secrets as described here.
If you wish to use Redis as an actor state store, append the following to the yaml.
- name: actorStateStore value: "true"
|connectionString||Y||The connection string used to connect||
|tableName||Y||The name of the table to use. Alpha-numeric with underscores||
|keyType||N||The type of key used. Defaults to
|keyLength||N||The max length of key. Used along with
|schema||N||The schema to use. Defaults to
|indexedProperties||N||List of IndexedProperties.||
|actorStateStore||N||Indicates that Dapr should configure this component for the actor state store (more information).||
Create Azure SQL instance
Follow the instructions from the Azure documentation on how to create a SQL database. The database must be created before Dapr consumes it. The database must be created before Dapr consumes it. The database must be created before Dapr consumes it.
Note: SQL Server state store also supports SQL Server running on VMs.
In order to setup SQL Server as a state store, you need the following properties:
- Connection String: the SQL Server connection string. For example: server=localhost;user id=sa;password=your-password;port=1433;database=mydatabase;
- Schema: The database schema to use (default=dbo). Will be created if does not exist
- Table Name: The database table name. Will be created if does not exist
- Indexed Properties: Optional properties from json data which will be indexed and persisted as individual column
Create a dedicated user
When connecting with a dedicated user (not
sa), these authorizations are required for the user - even when the user is owner of the desired database schema: