在构建应用程序时,通常需要根据所需的构建块和特定组件创建组件文件定义。
在本教程中,您将创建一个组件定义文件以与secrets构建块API交互:
创建一个名为my-components
的新目录以保存新的密钥和组件文件:
mkdir my-components
进入此目录。
cd my-components
Dapr支持多种类型的密钥存储,但在本教程中,创建一个名为mysecrets.json
的本地JSON文件,其中包含以下密钥:
{
"my-secret" : "I'm Batman"
}
创建一个新文件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使用本地文件组件作为密钥存储。dapr run
命令的位置。启动一个Dapr sidecar,它将在端口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 .
如果出现错误消息提示app-id
已被使用,您可能需要停止任何当前正在运行的Dapr sidecar。在运行下一个dapr run
命令之前,可以通过以下方式停止sidecar:
dapr stop
命令。在一个单独的终端中,运行:
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"}