

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

# Salesforce在 Amazon 中接收来自的事件 EventBridge
<a name="eb-saas-salesforce"></a>

您可以通过以下方式使用 Amazon EventBridge 接收来自Salesforce以下[的事件](eb-events.md)：
+ 使用Salesforce's事件总线中继功能直接在 EventBridge 合作伙伴事件总线上接收事件。
+ 通过在 A [mazon AppFlow](https://aws.amazon.com/appflow/) 中配置Salesforce用作数据源的流程。 AppFlow 然后，Amazon 使用[合作伙伴事件总线向发送Salesforce事件](eb-saas.md)。 EventBridge 

您可以使用 API 目标将事件信息发送到 Salesforce。事件发送到 Salesforce 后，即可通过[流](https://help.salesforce.com/s/articleView?id=flow.htm)或 [Apex 触发器](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers.htm)进行处理。有关设置 Salesforce API 目标的更多信息，请参阅 [教程：从 Amazon EventBridge 向 Salesforce 发送事件](eb-tutorial-salesforce.md)。

**Topics**
+ [使用事件总线中继从 Salesforce 接收事件](#eb-saas-salesforce-relay)
+ [Salesforce通过使用 Amazon 接收事件 AppFlow](#eb-saas-salesforce-appflow)

## 使用事件总线中继从 Salesforce 接收事件
<a name="eb-saas-salesforce-relay"></a>

### 步骤 1：设置Salesforce事件总线中继和 EventBridge 合作伙伴事件源
<a name="eb-set-up-relay"></a>

在上创建事件中继配置时Salesforce，Salesforce会创建一个处于待处理状态的合作伙伴事件源。 EventBridge 

**配置 Salesforce 事件总线中继**

1. [设置 REST API 工具](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.z63eim1tqkm3)

1. [（可选）定义平台事件](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.2m5t2i52o23m)

1. [为自定义平台活动创建频道](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.s0spl5puf9d0)

1. [创建频道成员，以关联自定义平台事件](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.rdhi4awp8cvv)

1. [创建命名凭证](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.etec44jyv3og)

1. [创建事件中继配置](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.43rfyeehz0w5)

### 第 2 步：在 EventBridge 控制台中激活Salesforce合作伙伴事件源并启动事件中继
<a name="eb-salesforce-activate-source"></a>

1. 在 EventBridge 控制台中打开[合作伙伴事件源](https://console.aws.amazon.com/events/home?#/partners)页面。

1. 选择您在步骤 1 中创建的 Salesforce 合作伙伴事件源。

1. 选择**与事件总线关联**。

1. 验证合作伙伴事件总线的名称。

1. 选择**关联**。

1. [启动事件中继](https://resources.docs.salesforce.com/rel1/doc/en-us/static/pdf/Salesforce_Event_Bus_Relay_Pilot.pdf#h.t01b3xp87vhu)

现在，您已经设置并启动了事件总线中继并配置了合作伙伴事件源[，您可以创建一个对事件做出反应的EventBridge 规则](eb-create-rule-visual.md)，以筛选数据并将其发送到[目标](eb-targets.md)。

## Salesforce通过使用 Amazon 接收事件 AppFlow
<a name="eb-saas-salesforce-appflow"></a>

Amazon AppFlow 将活动封装在活动信封Salesforce中。 EventBridge 以下示例显示了 EventBridge 合作伙伴Salesforce事件总线接收的事件。

```
{
    "version": "0",
    "id": "5c42b99e-e005-43b3-c744-07990c50d2cc",
    "detail-type": "AccountChangeEvent",
    "source": "aws.partner/appflow.test/salesforce.com/364228160620/CustomSF-Source-Final",
    "account": "000000000",
    "time": "2020-08-20T18:25:51Z",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "ChangeEventHeader": {
            "commitNumber": 248197218874,
            "commitUser": "0056g000003XW7AAAW",
            "sequenceNumber": 1,
            "entityName": "Account",
            "changeType": "UPDATE",
            "changedFields": [
                "LastModifiedDate",
                "Region__c"
            ],
            "changeOrigin": "com/salesforce/api/soap/49.0;client=SfdcInternalAPI/",
            "transactionKey": "000035af-b239-0581-9f14-461e4187de11",
            "commitTimestamp": 1597947935000,
            "recordIds": [
                "0016g00000MLhLeAAL"
            ]
        },
        "LastModifiedDate": "2020-08-20T18:25:35.000Z",
        "Region__c": "America"
    }
}
```

### 步骤 1： AppFlow 将 Amazon 配置Salesforce为合作伙伴事件源
<a name="eb-configure-appflow"></a>

要向发送事件 EventBridge，您首先需要 AppFlow 将 Amazon 配置Salesforce为合作伙伴事件源。

1. 在 [Amazon AppFlow 控制台](https://console.aws.amazon.com/appflow/)中，选择**创建流程**。

1. 在**流详细信息**部分，在**流名称**中输入流的名称。

1. （可选）输入流的描述，然后选择**下一步**。

1. 在**源详细信息**下，从**源名称**下拉列表中选择 *Salesforce*，然后选择**连接**以创建新连接。

1. 在**连接到 Salesforce** 对话框中，为 Salesforce 环境选择**生产**或**沙盒**。

1. 在**连接名称**字段中，输入连接的唯一名称，然后选择**继续**。

1. 在 Salesforce 对话框中，执行以下操作：

   1. 输入您的 Salesforce 登录凭证，登录 Salesforce。

   1. 为 Amazon AppFlow 要处理的数据类型选择Salesforce事件。

1. 在**选择Salesforce事件**下拉列表中，选择要发送到的事件类型 EventBridge。

1. 对于目的地，请选择 **Amazon EventBridge**。

1. 选择**创建新的合作伙伴事件源**。

1. （可选）为合作伙伴事件源指定唯一的后缀。

1. 选择**生成合作伙伴事件源**。

1. 选择一个 Amazon S3 存储桶来存储大于 1 MB 的事件负载文件。

1. 在**流触发器**部分，确保选中**按事件运行流**。此设置可确保在发生新的 Salesforce 事件时执行流。

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

1. 要进行字段映射，请选择**直接映射所有字段**。也可以从**源字段名称**列表中选择您感兴趣的字段。

   有关字段映射的更多信息，请参阅[映射数据字段](https://docs.aws.amazon.com//appflow/latest/userguide/getting-started.html#map-fields)。

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

1. （可选）在 Amazon 中为数据字段配置筛选条件 AppFlow。

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

1. 检查设置，然后选择**创建流**。

配置流程后，Amazon AppFlow 会创建一个新的合作伙伴事件源，然后您需要将其与账户中的合作伙伴事件总线相关联。

### 步骤 2：配置 EventBridge 为接收Salesforce事件
<a name="eb-salesforce-events"></a>

在按照本节的说明进行操作之前，请确保已配置从以目标 EventBridge 为目标Salesforce的事件触发的 Amazon AppFlow 流程。

**配置 EventBridge 为接收Salesforce事件**

1. 在 EventBridge 控制台中打开[合作伙伴事件源](https://console.aws.amazon.com/events/home?#/partners)页面。

1. 选择您在步骤 1 中创建的 Salesforce 合作伙伴事件源。

1. 选择**与事件总线关联**。

1. 验证合作伙伴事件总线的名称。

1. 选择**关联**。

1. 在 Amazon AppFlow 控制台中，打开您创建的流程，然后选择**激活流程**。

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

1. 选择 **Create rule**（创建规则）。

1. 为规则输入唯一名称。

1. 在**定义模式**部分，选择**事件模式**。

1. 在**事件匹配模式**下，选择**服务提供的预定义模式**。

1. 在**服务提供商**部分，选择**所有事件**。

1. 在**选择事件总线**中，选择**自定义或合作伙伴事件总线**。

1. 选择您与 Amazon AppFlow 合作伙伴事件源关联的事件总线。

1. **在 “选择目标”** 中，选择规则运行时要执行的 AWS 服务。一个规则最多可以有五个目标。

1. 选择**创建**。

目标服务会接收为您的账户配置的所有 Salesforce 事件。要筛选事件或将某些事件发送到不同的目标，您可以使用[事件模式中基于内容的筛选](eb-create-pattern.md#eb-event-patterns-content-based-filtering)。

**注意**  
对于大于 1 MB 的事件，Amazon AppFlow 不会将完整事件发送至 EventBridge。相反，Amazon AppFlow 会将事件放入您账户的 S3 存储桶中，然后向发送一个 EventBridge 带有指向 Amazon S3 存储桶指针的事件。您可以使用此指针从桶中获取完整事件。