

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

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

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

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

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

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

完成本教程需要以下资源：
+ 一个 [Salesforce 账户](https://login.salesforce.com/)。
+ [连接 Salesforce 的应用](https://help.salesforce.com/s/articleView?id=sf.connected_app_create_basics.htm)。
+ 一个 [Salesforce 安全令牌](https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm)。
+ 一个 [Salesforce 自定义平台事件](https://developer.salesforce.com/docs/atlas.en-us.234.0.platform_events.meta/platform_events/platform_events_define.htm)。
+ 一个启用了 EventBridge 的 [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 桶。

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

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

**创建连接**

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

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

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

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

1. 对于**目标类型**，选择**合作伙伴**；对于**合作伙伴目标**，从下拉列表中选择 Salesforce。

1. 对于**授权端点**，请输入以下内容之一：
   + 如果您使用的是生产组织，请输入 **https://*MyDomainName*.my.salesforce.com./services/oauth2/token**
   + 如果您使用的是没有增强域的沙盒，请输入 **https://*MyDomainName*--*SandboxName*.my. salesforce.com/services /oauth2/token**
   + 如果您使用的是有增强域的沙盒，请输入 **https://*MyDomainName*--* SandboxName*.sandbox.my.salesforce.com/services/oauth2/token**

1. 对于 **HTTP 方法**，从下拉列表中选择 **POST**。

1. 在**客户端 ID** 中，输入连接的 Salesforce 应用的客户端 ID。

1. 在**客户端密钥**中，输入连接的 Salesforce 应用的客户端密钥。

1. 对于 **OAuth Http 参数**，请输入以下键/值对：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/eventbridge/latest/userguide/eb-tutorial-salesforce.html)

1. 选择**创建**。

## 步骤 2：创建 API 目标
<a name="eb-dd-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 目标输入名称和描述。例如，输入 **SalesforceAD** 作为名称，**Salesforce API Destination** 作为描述。

1. 对于 **API 目标端点**，请输入 **https://*MyDomainName*.my.salesforce.com/services/data/v54.0/sobjects/*MyEvent\$1\$1e***，其中 **Myevent\$1\$1e** 是您要将信息发送到的平台事件。

1. 对于 **HTTP 方法**，从下拉列表中选择 **POST**。

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

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

1. 选择**创建**。

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

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

**创建规则**

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

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

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

1. 为规则输入名称和描述。例如，输入 **SalesforceRule** 作为名称，**Rule to send events to Salesforce for S3 object creation** 作为描述。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   1. 选择**确认**。

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

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

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

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

要测试您的规则，请将文件上传到支持 EventBridge 的桶，创建一个 [Amazon S3 对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。所创建对象的相关信息将发送到 Salesforce 平台事件。

## 步骤 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**。