The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.
组件 schema
Dapr 组件的基本 schema
Dapr 使用 CustomResourceDefinition 定义和注册组件。 所有组件都定义为 CRD,可应用于 Dapr 运行的任何托管环境,而不仅仅是 Kubernetes。
格式
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: [COMPONENT-NAME]
namespace: [COMPONENT-NAMESPACE]
spec:
type: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
字段
字段 | 必填 | 详情 | 示例 |
---|---|---|---|
apiVersion | Y | 您正在调用的 Dapr 版本(如果适用的话为 Kubernetes) API | dapr.io/v1alpha1 |
kind | Y | CRD的类型。 组件必须始终是 Component |
Component |
metadata | - | 有关组件注册的信息 | |
metadata.name | Y | 组件的名称 | prod-statestore |
metadata.namespace | N | 主机环境的命名空间 | myapp-namespace |
spec | - | 关于组件资源的详细信息 | |
spec.type | Y | 组件类型 | state.redis |
spec.version | Y | 组件版本 | v1 |
spec.initTimeout | N | 组件初始化的超时时间 默认值为 5s | 5m , 1h , 20s |
spec.ignoreErrors | N | 如果组件加载失败,请告诉 Dapr sidecar 继续初始化。 默认为 false | false |
spec.metadata | - | 组件特定配置的键/值。 查看你的组件字段定义 |
特殊的元数据值
元数据值可以包含一个 {uuid}
标签,当 Dapr sidecar 启动时,该标记将被随机生成的 UUID 所取代。 每个启动都会生成新的 UUID。 它可以用来在 Kubernetes 上区分同一个 pod 的多个实例 ,比如共享的 MQTT 订阅。 下面是一个使用 {uuid}
选项的示例。
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: messagebus
spec:
type: pubsub.mqtt
version: v1
metadata:
- name: consumerID
value: "{uuid}"
- name: url
value: "tcp://admin:public@localhost:1883"
- name: qos
value: 1
- name: retain
value: "false"
- name: cleanSession
value: "false"
深入阅读
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.