Dapr 使用模块化设计,将功能作为组件来提供。 每个组件都有接口定义。 所有的组件都是可插拔的,因此在理想的情况下,你可以用一个具有相同接口的组件换掉另一个。 用于生产的每个组件, 需要保持一套技术要求,以确保组件的功能兼容性和强度。
首先保存下面的 JSON 内容到一个名为 mysecrets.json
的文件:
{
"my-secret" : "I'm Batman"
}
创建一个名为 my-components 的目录来存放新的文件,并创建localSecretStore.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: C:\Users\Happy\.dapr\components\my-components\mysecrets.json
- name: nestedSeparator
value: ":"
上述的文件定义有一个 type: secretstores.local.file 字段值,其告诉Dapr使用本地文件组件作为密钥存储。 元数据字段提供了使用该组件所需的组件特定信息(在本例中,是密钥存储JSON的路径)。
dapr run --app-id myapp --dapr-http-port 3500 --components-path ./my-components
//cmd
curl http://localhost:3500/v1.0/secrets/my-secret-store/my-secret
或
//PowerShell
Invoke-RestMethod -Uri 'http://localhost:3500/v1.0/secrets/my-secret-store/my-secret'