Dapr 定义一个组件 电脑版发表于:2021/8/27 13:57 ![](https://img.tnblog.net/arcimg/hb/896fd38e95b346f9a0d98c54b135bb94.jpg) >#Dapr 定义一个组件 [TOC] tn2>在上一步中,您调用了 Dapr HTTP API 来从 Redis 支持的状态存储中存储和检索状态。Dapr通过初始化时创建的默认组件定义文件,要使用你机器上本地配置好的Redis实例。 当构建一个应用程序时,你很可能会根据你想使用的构建块和特定的组件来定义自己的说明文件。 作为如何为您的应用程序定义自定义组件的示例,您现在将创建一个组件定义文件以与secrets构建块交互。 在本指南中,您将: 1.创建本地JSON密码存储 2.使用组件定义文件在 Dapr 注册密钥存储 3.使用 Dapr HTTP API 获取密钥 创建一个JSON加密存储 ------------ tn2>虽然 Dapr 支持多种类型的秘密存储,但最简单的入门方法是使用您的秘密的本地 JSON 文件 (请注意,此秘密存储用于开发目的,不建议用于生产用例,因为它不安全)。 首先保存下面的 JSON 内容到一个名为`mysecrets.json`的文件: ```bash { "my-secret" : "I'm Batman" } ``` 创建一个秘密存储 Dapr 组件 ------------ tn2>创建一个名为`my-components`的目录来举办新的组件文件: ```bash mkdir my-components ``` tn2>在此目录中创建一个新文件`localSecretStore.yaml`,内容如下: ```bash vim my-components/localSecretStore.yaml ``` ```yaml apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: my-secret-store namespace: default spec: type: secretstores.local.file version: v1 metadata: - name: secretsFile value: /root/mysecrets.json - name: nestedSeparator value: ":" ``` 运行Dapr sidecar ------------ tn2>运行以下命令,以Dapr sidecar,汽车在启动端口3500上监听耳机myapp的空闲应用程序: ```yaml dapr run --app-id myapp --dapr-http-port 3500 --components-path ./my-components ``` ![](https://img.tnblog.net/arcimg/hb/9eafab26c9c64499902b1b7b4f121640.png) ![](https://img.tnblog.net/arcimg/hb/b7108fd37cef4e9997b17f45e123625e.png) 获取一个密钥 ------------ ```bash curl http://localhost:3500/v1.0/secrets/my-secret-store/my-secret ``` tn2>你看到的输出应该为你存储在JSON文件中的密钥 ![](https://img.tnblog.net/arcimg/hb/21cad481ae4342d4af5b4e5666797554.png)