diff --git a/daprdocs/content/en/reference/components-reference/supported-state-stores/setup-alicloud-tablestore.md b/daprdocs/content/en/reference/components-reference/supported-state-stores/setup-alicloud-tablestore.md new file mode 100644 index 00000000000..2ac5c12105e --- /dev/null +++ b/daprdocs/content/en/reference/components-reference/supported-state-stores/setup-alicloud-tablestore.md @@ -0,0 +1,78 @@ +--- +type: docs +title: "Alibaba Cloud TableStore" +linkTitle: "Alibaba Cloud TableStore" +description: "Detailed information on the Alibaba Cloud TableStore state store component for use with Dapr" +aliases: + - "/operations/components/setup-state-store/supported-state-stores/setup-alicloud-tablestore/" +--- + +## Component format + +To set up an Alibaba Cloud TableStore state store, create a component of type `state.alicloud.tablestore`. +See [this guide]({{% ref "howto-get-save-state.md#step-1-setup-a-state-store" %}}) on how to create and apply a state store configuration. + +```yaml +apiVersion: dapr.io/v1alpha1 +kind: Component +metadata: + name: +spec: + type: state.alicloud.tablestore + version: v1 + metadata: + - name: endpoint + value: + - name: instanceName + value: + - name: tableName + value: + - name: accessKeyID + value: + - name: accessKey + value: +```` + +{{% alert title="Warning" color="warning" %}} +The above example uses secrets as plain strings. +It is recommended to use a secret store for the secrets as described [here]({{% ref component-secrets.md %}}). +{{% /alert %}} + +## Spec metadata fields + +| Field | Required | Details | Example | +| -------------- | :------: | --------------------------------------------------------------------------------- | ----------------------------------- | +| `endpoint` | Y | The endpoint of the Alibaba Cloud TableStore instance | `"https://tablestore.aliyuncs.com"` | +| `instanceName` | Y | The name of the Alibaba Cloud TableStore instance | `"my_instance"` | +| `tableName` | Y | The name of the table to use for Dapr state. Will be created if it does not exist | `"my_table"` | +| `accessKeyID` | Y | The access key ID for authentication | `"my_access_key_id"` | +| `accessKey` | Y | The access key for authentication | `"my_access_key"` | + +--- + +## Authentication + +Alibaba Cloud TableStore supports authentication using an **Access Key** and **Access Key ID**. + +You can also use Dapr's \[secret store]\({{% ref component-secrets.md %}}) to securely store these values instead of including them directly in the YAML file. + +Example using secret references: + +```yaml +- name: accessKeyID + secretKeyRef: + name: alicloud-secrets + key: accessKeyID +- name: accessKey + secretKeyRef: + name: alicloud-secrets + key: accessKey +``` + +--- + + +## Related links +- [Basic schema for a Dapr component]({{% ref component-schema %}}) +- Read [this guide]({{% ref "howto-get-save-state.md#step-2-save-and-retrieve-a-single-state" %}}) for instructions on configuring state store components +- [State management building block]({{% ref state-management %}}) diff --git a/daprdocs/data/components/state_stores/alicloud.yaml b/daprdocs/data/components/state_stores/alicloud.yaml new file mode 100644 index 00000000000..80963bddeee --- /dev/null +++ b/daprdocs/data/components/state_stores/alicloud.yaml @@ -0,0 +1,8 @@ +- component: AliCloud TableStore + link: setup-alicloud-tablestore + state: Alpha + version: v1 + since: "1.3" + features: + crud: true + etag: true diff --git a/daprdocs/layouts/_partials/components/state-stores.html b/daprdocs/layouts/_partials/components/state-stores.html index 7d1e4693ab8..817950a4718 100644 --- a/daprdocs/layouts/_partials/components/state-stores.html +++ b/daprdocs/layouts/_partials/components/state-stores.html @@ -5,6 +5,7 @@ "Amazon Web Services (AWS)" $.Site.Data.components.state_stores.aws "Cloudflare" $.Site.Data.components.state_stores.cloudflare "Oracle Cloud" $.Site.Data.components.state_stores.oracle +"Alibaba Cloud" $.Site.Data.components.state_stores.alicloud }} {{ range $group, $components := $groups }} @@ -77,4 +78,4 @@

{{ $group }}

{{ end }} -{{ partial "components/componenttoc.html" . }} \ No newline at end of file +{{ partial "components/componenttoc.html" . }}