How-To: Use output bindings to interface with external resources

使用 Dapr 输出绑定调用外部系统

使用绑定,可以调用外部资源,而无需绑定到特定的 SDK 或库。 有关显示输出绑定的完整示例,请访问此 链接

观看如何使用双向输出绑定的 视频

1. 1. 创建绑定

输出绑定表示 Dapr 将使用调用和向其发送消息的资源。

就本指南的目的,您将使用 Kafka 绑定。 您可以在 此处 找到不同绑定规范的列表。

Create a new binding component with the name of myevent.

metadata 部分中,配置 Kafka 相关属性,如要将消息发布到其的topics和代理。

创建以下 YAML 文件,名为 binding.yaml,并将其保存到应用程序的 components 子文件夹中。 (使用具有 --components-path 标记 的 dapr run 命令来指向自定义组件目录)

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: myevent
  5. namespace: default
  6. spec:
  7. type: bindings.kafka
  8. version: v1
  9. metadata:
  10. - name: brokers
  11. value: localhost:9092
  12. - name: publishTopic
  13. value: topic1

您可以使用 HTTP 来这样做:

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: myevent
  5. namespace: default
  6. spec:
  7. type: bindings.kafka
  8. version: v1
  9. metadata:
  10. - name: brokers
  11. value: localhost:9092
  12. - name: publishTopic
  13. value: topic1

2. 2. 发送事件

注: 在 Kubernetes 中运行时,使用 kubectl apply -f binding.yaml 将此文件应用于您的集群

您可以使用 HTTP 来这样做:

  1. curl -X POST -H http://localhost:3500/v1.0/bindings/myevent -d '{ "data": { "message": "Hi!" }, "operation": "create" }' }, "operation": "create" }'

如上文所见,您使用了要调用的绑定的名称来调用 /binding 终结点。 在我们的示例中,它的名称是 myevent 。 有效载荷位于必需的 data 字段中,并且可以是任何 JSON 可序列化的值。

您还会注意到,有一个 operation 字段告诉绑定您需要它执行的操作。 您可以查看 这里 查看每个输出绑定都支持的操作。

参考文档

Last modified January 1, 0001