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.
Azure Event Hubs 绑定规范
关于 Azure Event Hubs 组件绑定的详细文档
配置
要开始 Azure 事件中心绑定,需要创建一个类型为 bindings.azure.eventhubs
的组件。 请参阅本指南,了解如何创建和应用绑定配置。
参考此实例来创建一个事件中心。
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
type: bindings.azure.eventhubs
version: v1
metadata:
- name: connectionString # Azure EventHubs connection string
value: "Endpoint=sb://****"
- name: consumerGroup # EventHubs consumer group
value: "group1"
- name: storageAccountName # Azure Storage Account Name
value: "accountName"
- name: storageAccountKey # Azure Storage Account Key
value: "accountKey"
- name: storageContainerName # Azure Storage Container Name
value: "containerName"
- name: partitionID # (Optional) PartitionID to send and receive events
value: 0
Warning
以上示例将密钥明文存储, 更推荐的方式是使用 Secret 组件, 这里。元数据字段规范
字段 | 必填 | 绑定支持 | 详情 | 示例 |
---|---|---|---|---|
connectionString | 是 | 输出 | EventHubs 连接字符串。 请注意,这是 EventHubs 本身,而不是 EventHubs 名称空间。 确保使用子 EventHub 共享访问策略连接字符串 | "Endpoint=sb://****" |
consumerGroup | 是 | 输出 | 要侦听的 EventHubs 消费者组 的名称 | "group1" |
storageAccountName | 是 | 输出 | 用于在Azure 存储检查点数据的帐户的名称 | "accountName" |
storageAccountKey | 是 | 输出 | 用于在Azure 存储检查点数据的帐户的键 | "accountKey" |
storageContainerName | 是 | 输出 | 用于在Azure 存储检查点数据的帐户的容器名称 | "contianerName" |
partitionID | 否 | 输出 | 要发送和接收事件的分区的 ID | 0 |
绑定支持
该组件支持如下操作的 输出绑定 :
create
输入绑定到 Azure IoT Hub Events
Azure IoT Hub 提供了一个兼容 Event Hubs 的终结点,因此 Dapr 应用可以使用 Event Hubs 绑定组件创建输入绑定以读取 Azure IoT Hub 的事件。
由 Azure IoT Hub 设备创建的设备到云事件将包含其他 IoT Hub System Properties,并且 Dapr 的 Azure Event Hubs 绑定将返回以下内容作为响应元数据的一部分:
系统属性名称 | 路由查询关键字 & 说明 |
---|---|
iothub-connection-auth-generation-id |
发送消息的设备的 connectionDeviceGenerationId 请参阅 IoT Hub 设备标识属性。 |
iothub-connection-auth-method |
connectionAuthMethod 用于验证发送消息的设备。 |
iothub-connection-device-id |
发送消息的设备的 deviceId。 请参阅 IoT Hub 设备标识属性。 |
iothub-connection-module-id |
发送消息的设备的 moduleId。 请参阅 IoT Hub 设备标识属性。 |
iothub-enqueuedtime |
RFC3339 格式的 enqueuedTime 表示 IoT Hub 已收到设备到云的消息。 |
message-id |
用户可设置的 AMQP messageId。 |
例如,HTTP Read()
响应的标头将包含:
{
'user-agent': 'fasthttp',
'host': '127.0.0.1:3000',
'content-type': 'application/json',
'content-length': '120',
'iothub-connection-device-id': 'my-test-device',
'iothub-connection-auth-generation-id': '637618061680407492',
'iothub-connection-auth-method': '{"scope":"module","type":"sas","issuer":"iothub","acceptingIpFilterRule":null}',
'iothub-connection-module-id': 'my-test-module-a',
'iothub-enqueuedtime': '2021-07-13T22:08:09Z',
'message-id': 'my-custom-message-id',
'x-opt-sequence-number': '35',
'x-opt-enqueued-time': '2021-07-13T22:08:09Z',
'x-opt-offset': '21560',
'traceparent': '00-4655608164bc48b985b42d39865f3834-ed6cf3697c86e7bd-01'
}
相关链接
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.