SQL Server

Detailed information on the SQL Server state store component

Component format

To setup SQL Server state store create a component of type state.sqlserver. See this guide on how to create and apply a state store configuration.

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: state.sqlserver
  8. version: v1
  9. metadata:
  10. - name: connectionString
  11. value: <REPLACE-WITH-CONNECTION-STRING> # Required.
  12. - name: tableName
  13. value: <REPLACE-WITH-TABLE-NAME> # Required.
  14. - name: keyType
  15. value: <REPLACE-WITH-KEY-TYPE> # Optional. defaults to "string"
  16. - name: keyLength
  17. value: <KEY-LENGTH> # Optional. defaults to 200. Yo be used with "string" keyType
  18. - name: schema
  19. value: <SCHEMA> # Optional. defaults to "dbo"
  20. - name: indexedProperties
  21. value: <INDEXED-PROPERTIES> # Optional. List of IndexedProperties.

Warning

以上示例将 Secret 明文存储。 更推荐的方式是使用 Secret 组件, here

Note

Currently this component does not support state management for actors

Spec metadata fields

字段RequiredDetailsExample
connectionStringYThe connection string used to connect“Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;”
tableNameYThe name of the table to use. Alpha-numeric with underscores“table_name”
keyTypeNThe type of key used. Defaults to “string”“string”
keyLengthNThe max length of key. Used along with “string” keytype. Defaults to “200”“200”
schemaNThe schema to use. Defaults to “dbo”“dapr”,“dbo”
indexedPropertiesNList of IndexedProperties.“[{“ColumnName”: “column”, “Property”: “property”, “Type”: “type”}]”

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.

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:

  • CREATE TABLE
  • CREATE TYPE

相关链接

Last modified January 1, 0001