

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

您可以使用 Amazon EventBridge 以下列方式從 Salesforce 中接收[事件](eb-events.md)：
+ 透過使用 Salesforce's 事件匯流排中繼功能，直接在 EventBridge 合作夥伴事件匯流排上接收事件。
+ 在使用 Salesforce 作為資料來源的 [Amazon AppFlow](https://aws.amazon.com/appflow/) 中設定流程。然後，Amazon AppFlow 會使用[合作夥伴事件匯流排](eb-saas.md)將 Salesforce 事件傳送至 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 目的地的詳細資訊，請參閱 [教學課程：Salesforce從 Amazon EventBridge 將事件傳送至](eb-tutorial-salesforce.md)。

**Topics**
+ [使用事件匯流排中繼接收來自 Salesforce 的事件](#eb-saas-salesforce-relay)
+ [使用 Amazon AppFlow 接收來自 Salesforce 的事件](#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)。

## 使用 Amazon AppFlow 接收來自 Salesforce 的事件
<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：設定 Amazon AppFlow 以將 Salesforce 用作合作夥伴事件來源
<a name="eb-configure-appflow"></a>

若要將事件傳送至 EventBridge，您首先需要設定 Amazon AppFlow 以將 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. 選擇**建立規則**。

1. 請輸入規則的唯一名稱。

1. 在**定義模式**區段中，選擇**事件模式**。

1. 針對**事件比對模式**，選取**依服務預先定義模式**。

1. 針對**服務提供者**區段，選取**所有事件**。

1. 針對**選取事件匯流排**，選擇**自訂或合作夥伴事件匯流排**。

1. 選取您與 Amazon AppFlow 合作夥伴事件來源相關聯的事件匯流排。

1. 針對**選取目標**，選擇規則執行時要執行 AWS 的服務。一個規則至多可有 5 個目標。

1. 選擇**建立**。

目標服務會接收為您的帳戶設定的所有 Salesforce 事件。若要篩選事件或將某些事件傳送至不同的目標，您可以使用[事件模式下基於內容的篩選](eb-create-pattern.md#eb-event-patterns-content-based-filtering)。

**注意**  
對於大於 1 MB 的事件，Amazon AppFlow 不會將完整事件傳送至 EventBridge。相反地，Amazon AppFlow 會將事件放入您帳戶中的 S3 儲存貯體，然後使用指向 Amazon S3 儲存貯體的指標將事件傳送至 EventBridge。您可以使用指標從儲存貯體中獲取完整事件。