绑定概述

Dapr 绑定API构建块概述

使用 Dapr 的绑定 API,你可以使用来自外部系统的事件触发应用,并与外部系统交互。 使用绑定 API,您可以:

  • 避免与队列和消息总线等消息系统连接和轮询的复杂性。
  • 关注业务逻辑,而不是与系统交互的执行细节。
  • 让您的代码远离 SDK 或库。
  • 处理重试和故障恢复。
  • 在运行时切换绑定
  • 利用特定环境绑定设置构建可移植应用程序,无需更改代码。

例如,有了绑定,您的应用程序就可以响应传入的 Twilio/SMS 消息,而不需要

  • 添加或配置第三方 Twilio SDK
  • 担心来自 Twilio 的轮询(或使用 WebSockets 等)

Diagram showing bindings

在上图中

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

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

注意

如果您正在使用HTTP绑定,则最好使用服务调用。 阅读操作方法:使用HTTP调用非Dapr端点以获取更多信息。

输入绑定

通过输入绑定,您可以在外部资源发生事件时触发应用程序。 可选择随请求发送有效载荷和元数据。

以下概述视频和演示演示了Dapr输入绑定是如何工作的。

接收来自输入绑定的事件:

  1. 定义描述绑定类型及其元数据(连接信息等)的 YAML 组件。
  2. 监听传入事件:
    • HTTP 端点
    • 用于获取传入事件的 gRPC 原型库。

注意

在启动时,Dapr会向应用程序发送OPTIONS请求,以获取所有已定义的输入绑定。 如果应用程序要订阅绑定,Dapr 将收到 2xx 或 405 的状态代码。

阅读使用输入绑定创建事件驱动应用指南以开始使用输入绑定。

输出绑定

使用输出绑定,您可以调用外部资源。 调用请求可发送可选的有效载荷和元数据。

以下概述视频和演示演示了Dapr中的输出绑定是如何工作的。

调用输出绑定:

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

开始使用输出绑定,请参阅使用输出绑定向外部系统发送事件指南

绑定方向(可选)

您可以提供direction元数据字段来指明绑定组件支持的方向。 这样,Dapr sidecar避免了"等待应用程序准备就绪"的状态,减少了Dapr sidecar与应用程序之间的生命周期依赖性:

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

注意

强烈建议所有输入绑定都包含 direction 属性。

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

试用绑定

快速启动和教程

想测试一下 Dapr 绑定 API 吗? 浏览以下快速入门和教程以查看 绑定 的实际应用:

快速入门/教程说明
绑定快速入门使用输入绑定响应事件,使用输出绑定调用操作,与外部系统协作。
绑定教程演示如何使用 Dapr 创建与其他组件的输入和输出绑定。 使用与 Kafka 的绑定。

开始直接在应用程序中使用绑定

想跳过快速入门? Not a problem. 您可以直接在应用程序中尝试 绑定 构建块,以调用输出绑定并触发输入绑定。 安装Dapr之后,您可以开始使用绑定 API,从输入绑定操作方法指南开始。

下一步