

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：从 Amazon EventBridge 向 Zendesk 发送事件
<a name="eb-tutorial-zendesk"></a>

您可以使用 EventBridge 将[事件](eb-events.md)路由到第三方服务，例如 [https://www.zendesk.com/](https://www.zendesk.com/)。

在本教程中，您将使用 EventBridge 控制台创建与 Zendesk 的连接、指向 Zendesk 的 [API 目标](eb-api-destinations.md)以及将事件路由到 Zendesk 的[规则](eb-rules.md)。

**Topics**
+ [先决条件](#eb-zd-prereqs)
+ [步骤 1：创建连接](#eb-zd-create-connection)
+ [步骤 2：创建 API 目标](#eb-zd-api-destination)
+ [步骤 3：创建规则](#eb-zd-create-rule)
+ [步骤 4：测试规则](#eb-zd-test-rule)
+ [步骤 5：清理资源](#cleanup)

## 先决条件
<a name="eb-zd-prereqs"></a>

完成本教程需要以下资源：
+ 一个 [Zendesk 账户](https://www.zendesk.com/register/#step-1)。
+ 一个启用了 EventBridge 的 [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 桶。

## 步骤 1：创建连接
<a name="eb-zd-create-connection"></a>

要向 Zendesk 发送事件，您必须先与 Zendesk API 建立连接。

**创建连接**

1. 访问 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)，打开 Amazon EventBridge 控制台。

1. 在导航窗格中，选择 **API 目标**。

1. 选择**连接**选项卡，然后选择**创建连接**。

1. 为连接输入名称和描述。例如，输入 **Zendesk** 作为名称，**Connection to Zendesk API** 作为描述。

1. 对于**授权类型**，选择**基本(用户名/密码)**。

1. 对于**用户名**，输入您的 Zendesk 用户名。

1. 对于**密码**，输入您的 Zendesk 密码。

1. 选择**创建**。

## 步骤 2：创建 API 目标
<a name="eb-zd-api-destination"></a>

现在，您已经创建了连接，接下来您将创建用作规则[目标](eb-targets.md)的 API 目标。

**创建 API 目标**

1. 访问 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)，打开 Amazon EventBridge 控制台。

1. 在导航窗格中，选择 **API 目标**。

1. 选择**创建 API 目标**。

1. 为 API 目标输入名称和描述。例如，输入 **ZendeskAD** 作为名称，**Zendesk API destination** 作为描述。

1. 对于 **API 目标端点**，请输入 **https://{{your-subdomain}}.zendesk.com/api/v2/tickets.json**，其中 {{your-subdomain}} 是与您的 Zendesk 账户关联的子域名。

1. 对于 **HTTP 方法**，选择 **POST**。

1. 对于**调用速率限制**，输入 **10**。

1. 对于**连接**，选择**使用现有连接**，然后选择您在步骤 1 中创建的 `Zendesk` 连接。

1. 选择**创建**。

## 步骤 3：创建规则
<a name="eb-zd-create-rule"></a>

接下来创建一条规则，在创建 Amazon S3 对象后将事件发送到 Zendesk。

**创建规则**

1. 打开位于 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 的 Amazon EventBridge 控制台。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 为规则输入名称和描述。例如，输入 **ZendeskRule** 作为名称，**Rule to send events to Zendesk when S3 objects are created** 作为描述。

1. 对于**事件总线**，选择**默认**。

1. 对于**规则类型**，选择**具有事件模式的规则**。

1. 选择**下一步**。

1. 对于**事件源**，选择**其他**。

1. 对于**事件模式**，输入以下代码：

   ```
   {
     "source": ["aws.s3"]
   }
   ```

1. 选择**下一步**。

1. 对于**目标类型**，选择 **EventBridge API 目标**。

1. 对于 **API 目标**，选择**使用现有 API 目标**，然后选择您在步骤 2 中创建的 `ZendeskAD` 目标。

1. 对于**执行角色**，选择**为此特定资源创建新角色**。

1. 对于**其他设置**，执行以下操作：

   1. 对于**配置目标输入**，从下拉列表中选择**输入转换器**。

   1. 选择**配置输入转换器**。

   1. 对于**示例事件**，输入以下代码：

      ```
      {
        "detail":[]
      }
      ```

   1. 对于**目标输入转换器**，执行以下操作：

      1. 对于**输入路径**，输入以下代码：

         ```
         {"detail":"$.detail"}
         ```

      1. 对于**输入模板**，输入以下代码：

         ```
         {"message": <detail>}
         ```

   1. 选择**确认**。

1. 选择**下一步**。

1. 选择**下一步**。

1. 查看规则详细信息并选择**创建规则**。

## 步骤 4：测试规则
<a name="eb-zd-test-rule"></a>

要测试您的规则，请将文件上传到支持 EventBridge 的桶，创建一个 [Amazon S3 对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。如果事件与规则匹配，EventBridge 将调用 [Zendesk Create Ticket API](https://developer.zendesk.com/rest_api/docs/support/tickets#create-ticket)。新工单将显示在 Zendesk 控制面板中。

## 步骤 5：清理资源
<a name="cleanup"></a>

除非您想要保留为本教程创建的资源，否则可立即将其删除。请删除您不再使用的 AWS 资源，这样可防止您的 AWS 账户产生不必要的费用。

**删除 EventBridge 连接**

1. 在 EventBridge 控制台中打开 [API 目标页面](https://console.aws.amazon.com/events/home#/apidestinations)。

1. 选择**连接**选项卡。

1. 选择您创建的连接。

1. 选择**删除**。

1. 输入连接的名称，然后选择**删除**。

**删除 EventBridge API 目标**

1. 在 EventBridge 控制台中打开 [API 目标页面](https://console.aws.amazon.com/events/home#/apidestinations)。

1. 选择您创建的 API 目标。

1. 选择**删除**。

1. 输入 API 目标的名称，然后选择**删除**。

**删除 EventBridge 规则**

1. 在 EventBridge 控制台中打开[规则页面](https://console.aws.amazon.com/events/home#/rules)。

1. 选择您创建的规则。

1. 选择 **Delete**。

1. 选择 **Delete**。