Azure Blob Storage

关于Azure Blob Store状态存储组件的详细信息

配置

要设置 Azure Blobstorage状态存储,请创建一个类型为state.azure.blobstorage的组件。 请参阅本指南,了解如何创建和应用状态存储配置。

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: state.azure.blobstorage
  8. version: v1
  9. metadata:
  10. - name: accountName
  11. value: <REPLACE-WITH-ACCOUNT-NAME>
  12. - name: accountKey
  13. value: <REPLACE-WITH-ACCOUNT-KEY>
  14. - name: containerName
  15. value: <REPLACE-WITH-CONTAINER-NAME>

Warning

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

元数据字段规范

字段必填详情示例
accountNameY存储帐户名称“mystorageaccount”.
accountKeyY主要或次要存储密钥“key”
containerNameYDapr 状态的容器名称, 如果容器不存在,将会自动创建.“container”

安装Azure Blobstorage

请遵循 Azure 文档中关于如何创建 Azure Storage Account的说明

如果你想创建一个容器供Dapr使用,你可以事先这样做。 但是,当 Blob Storage状态提供者会在其不存在时为你自动创建。

要将 Azure Blob Storage配置为状态存储,你需要如下属性:

  • AccountName:存储账户名称 举例:mystorageaccount 举例:mystorageaccount
  • AccountKey:主要或次要存储密钥。
  • ContainerName:用于Dapr状态的容器名称。 如果容器不存在,将会自动创建.

应用配置

在Kubernetes中

要将 Azure Blob Storage状态存储应用到Kubernetes,请执行如下kubectl CLI:

  1. kubectl apply -f azureblob.yaml

本地运行

要在本地运行,创建一个包含YAML文件的components目录,并提供dapr run命令的路径,标志为--components-path

这个状态存储在容器中创建一个blob文件,并将原始状态放在里面。

例如,以下操作来自于名为myservice的服务

  1. curl -X POST http://localhost:3500/v1.0/state \
  2. -H "Content-Type: application/json"
  3. -d '[
  4. {
  5. "key": "nihilus",
  6. "value": "darth"
  7. }
  8. ]'

在容器中创建blob文件,文件名为key,文件内容为value

并发(Concurrency)

根据Azure Blob Storage文档,通过使用ETag实现Azure Blob Storage状态并发。

相关链接