The documentation you are viewing is for Dapr v1.5 which is an older version of Dapr. For up-to-date documentation, see the latest version.
操作方法:从存储管理配置
介绍
本操作方法使用 Redis 配置存储组件作为示例来检索配置项目。
*此 API 目前在 Alpha
并且只能在 gRPC 上使用。 在将 API 认证为 Stable
状态之前,将提供具有此 URL 语法 /v1.0/configuration
的 HTTP1.1 支持版本。
步骤 1:创建配置项目
首先,在支持的配置存储中创建配置项目。 这可以是一个简单的键值项,具有您选择的任何键。 对于此示例,我们将使用 Redis 配置存储组件.
使用 Docker 运行 Redis
docker run --name my-redis -p 6379:6379 -d redis
保存项目
使用 Redis CLI连接到 Redis 实例:
redis-cli -p 6379
保存配置项目:
set myconfig "wookie"
配置 Dapr 配置存储
例如,将以下组件文件保存到计算机上 默认组件文件夹。 您可以使用 kubectl
或使用 Dapr CLI 运行时将其用作 Kubernetes 的 Dapr 组件 YAML。 注意:Redis 配置组件具有与 Redis 状态存储组件相同的元数据,因此,如果您已有 Redis 状态存储 YAML 文件,则只需复制和更改 Redis 状态存储组件类型即可。
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: redisconfigstore
spec:
type: configuration.redis
metadata:
- name: redisHost
value: localhost:6379
- name: redisPassword
value: <PASSWORD>
使用 gRPC API 获取配置项目
使用您 喜欢的语言,从 Dapr proto创建一个 Dapr gRPC 客户端。 以下示例显示了 Java、C#、Python 和 Javascript 客户端。
Dapr.ServiceBlockingStub stub = Dapr.newBlockingStub(channel);
stub.GetConfigurationAlpha1(new GetConfigurationRequest{ StoreName = "redisconfigstore", Keys = new String[]{"myconfig"} });
var call = client.GetConfigurationAlpha1(new GetConfigurationRequest { StoreName = "redisconfigstore", Keys = new String[]{"myconfig"} });
response = stub.GetConfigurationAlpha1(request={ StoreName: 'redisconfigstore', Keys = ['myconfig'] })
client.GetConfigurationAlpha1({ StoreName: 'redisconfigstore', Keys = ['myconfig'] })
监视配置项目
使用您的首选语言从 Dapr proto 创建 Dapr gRPC 客户端。 然后使用 proto 方法 SubscribeConfigurationAlpha1
开始订阅事件。 该方法接受以下请求对象:
message SubscribeConfigurationRequest {
// The name of configuration store.
string store_name = 1;
// Optional. The key of the configuration item to fetch.
// If set, only query for the specified configuration items.
// Empty list means fetch all.
repeated string keys = 2;
// The metadata which will be sent to configuration store components.
map<string,string> metadata = 3;
}
使用此方法,您可以订阅给定配置存储的特定密钥中的更改。 gRPC 流因语言而异 - 有关用法,请参阅此处的 gRPC 示例 。
下一步
- 阅读 配置 API 概述
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.