定义组件

创建组件定义文件以与机密构建块交互

在构建应用时,你很可能需要创建自己的组件文件定义,具体取决于你想要使用的构建块和特定组件。

在本教程中,你将创建一个组件定义文件来与机密构建块 API交互:

  • 创建一个本地 JSON 机密存储。
  • 使用组件定义文件向 Dapr 注册机密存储。
  • 使用 Dapr HTTP API 获取机密。

步骤 1:创建 JSON 机密存储

  1. 创建一个名为 my-components 的新目录来保存新的机密和组件文件:

    mkdir my-components
    
  2. 进入该目录。

    cd my-components
    
  3. Dapr 支持多种类型的机密存储,但在本教程中,创建一个名为 mysecrets.json 的本地 JSON 文件,其中包含以下机密:

{
   "my-secret" : "I'm Batman"
}

步骤 2:创建机密存储 Dapr 组件

  1. 创建一个新文件 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: ./mysecrets.json
      - name: nestedSeparator
        value: ":"
    

在上述文件定义中:

  • type: secretstores.local.file 告诉 Dapr 使用本地文件组件作为机密存储。
  • metadata 字段提供了使用此组件所需的特定组件信息。在这种情况下,机密存储 JSON 路径是相对于你调用 dapr run 的位置。

步骤 3:运行 Dapr 边车

启动一个 Dapr 边车,它将在端口 3500 上监听一个名为 myapp 的空白应用程序:

PowerShell 环境:

dapr run --app-id myapp --dapr-http-port 3500 --resources-path ../

非 PowerShell 环境:

dapr run --app-id myapp --dapr-http-port 3500 --resources-path .

步骤 4:获取机密

在单独的终端中,运行:

curl http://localhost:3500/v1.0/secrets/my-secret-store/my-secret
Invoke-RestMethod -Uri 'http://localhost:3500/v1.0/secrets/my-secret-store/my-secret'

输出:

{"my-secret":"I'm Batman"}
下一步:设置发布订阅代理 >>