bindings 概述

bindings API 模块的概述

通过 Dapr 的 bindings API,您可以利用外部系统的事件来触发应用程序,并与外部系统交互。使用 bindings API,您可以:

  • 避免连接到消息系统并进行轮询的复杂性(如队列和消息总线)。
  • 专注于业务逻辑,而不是系统交互的实现细节。
  • 使您的代码不依赖于特定的 SDK 或库。
  • 处理重试和故障恢复。
  • 在运行时可以切换不同的 bindings。
  • 构建具有特定环境 bindings 设置的可移植应用程序,而无需更改代码。

例如,通过 bindings,您的应用程序可以响应传入的 Twilio/SMS 消息,而无需:

  • 添加或配置第三方 Twilio SDK
  • 担心从 Twilio 轮询(或使用 WebSockets 等)
显示 bindings 的图示

在上图中:

  • 输入 binding 触发您应用程序上的一个方法。
  • 在组件上执行输出 binding 操作,例如 "create"

bindings 的开发独立于 Dapr 运行时。您可以查看并贡献 bindings

输入 bindings

通过输入 bindings,您可以在外部资源发生事件时触发您的应用程序。请求中可以发送可选的负载和元数据。

以下概述视频和演示展示了 Dapr 输入 binding 的工作原理。

要接收来自输入 binding 的事件:

  1. 定义描述 binding 类型及其元数据(如连接信息)的组件 YAML。
  2. 使用以下方式监听传入事件:
    • HTTP 端点
    • gRPC proto 库获取传入事件。

阅读使用输入 bindings 创建事件驱动应用程序指南以开始使用输入 bindings。

输出 bindings

通过输出 bindings,您可以调用外部资源。调用请求中可以发送可选的负载和元数据。

以下概述视频和演示展示了 Dapr 输出 binding 的工作原理。

要调用输出 binding:

  1. 定义描述 binding 类型及其元数据(如连接信息)的组件 YAML。
  2. 使用 HTTP 端点或 gRPC 方法调用 binding,并附带可选负载。
  3. 指定输出操作。输出操作取决于您使用的 binding 组件,可以包括:
    • "create"
    • "update"
    • "delete"
    • "exec"

阅读使用输出 bindings 与外部资源交互指南以开始使用输出 bindings。

binding 方向(可选)

您可以提供 direction 元数据字段以指示 binding 组件支持的方向。这可以使 Dapr sidecar 避免“等待应用程序准备就绪”状态,减少 Dapr sidecar 与应用程序之间的生命周期依赖:

  • "input"
  • "output"
  • "input, output"

查看 bindings direction 元数据的完整示例。

试用 bindings

快速入门和教程

想要测试 Dapr bindings API?通过以下快速入门和教程来查看 bindings 的实际应用:

快速入门/教程 描述
bindings 快速入门 使用输入 bindings 处理外部系统的事件,并使用输出 bindings 调用操作。
bindings 教程 演示如何使用 Dapr 创建到其他组件的输入和输出 bindings。使用 bindings 连接到 Kafka。

直接在您的应用程序中开始使用 bindings

想要跳过快速入门?没问题。您可以直接在应用程序中试用 bindings 模块,以调用输出 bindings 和触发输入 bindings。在Dapr 安装完成后,您可以从输入 bindings 如何指南开始使用 bindings API。

下一步