从 Salesforce 接收事件 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

从 Salesforce 接收事件

您可以通过以下方式使用 Amazon EventBridge 接收来自Salesforce以下的事件

您可以使用 API 目标将事件信息发送到 Salesforce。事件发送到 Salesforce 后,即可通过Apex 触发器进行处理。有关设置 Salesforce API 目标的更多信息,请参阅 教程:创建连接,将 Salesforce 作为 API 目标

使用事件总线中继从 Salesforce 接收事件

步骤 1:设置Salesforce事件总线中继和 EventBridge 合作伙伴事件源

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

第 2 步:在 EventBridge 控制台中激活Salesforce合作伙伴事件源并启动事件中继

  1. 在 EventBridge 控制台中打开合作伙伴事件源页面。

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

  3. 选择与事件总线关联

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

  5. 选择关联

  6. 启动事件中继

现在,您已经设置并启动了事件总线中继并配置了合作伙伴事件源,您可以创建一个对事件做出反应的EventBridge 规则,以筛选数据并将其发送到目标

Salesforce通过使用 Amazon 接收事件 AppFlow

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为合作伙伴事件源

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

  1. Amazon AppFlow 控制台中,选择创建流程

  2. 流详细信息部分,在流名称中输入流的名称。

  3. (可选)输入流的描述,然后选择下一步

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

  5. 连接到 Salesforce 对话框中,为 Salesforce 环境选择生产沙盒

  6. 连接名称字段中,输入连接的唯一名称,然后选择继续

  7. 在 Salesforce 对话框中,执行以下操作:

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

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

  8. 选择Salesforce事件下拉列表中,选择要发送到的事件类型 EventBridge。

  9. 对于目的地,请选择 Amazon EventBridge

  10. 选择创建新的合作伙伴事件源

  11. (可选)为合作伙伴事件源指定唯一的后缀。

  12. 选择生成合作伙伴事件源

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

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

  15. 选择下一步

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

    有关字段映射的更多信息,请参阅映射数据字段

  17. 选择下一步

  18. (可选)在 Amazon 中为数据字段配置筛选条件 AppFlow。

  19. 选择下一步

  20. 检查设置,然后选择创建流

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

步骤 2:配置 EventBridge 为接收Salesforce事件

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

配置 EventBridge 为接收Salesforce事件
  1. 在 EventBridge 控制台中打开合作伙伴事件源页面。

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

  3. 选择与事件总线关联

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

  5. 选择关联

  6. 在 Amazon AppFlow 控制台中,打开您创建的流程,然后选择激活流程

  7. 在 EventBridge 控制台中打开 “规则” 页面。

  8. 选择创建规则

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

  10. 定义模式部分,选择事件模式

  11. 事件匹配模式下,选择服务提供的预定义模式

  12. 服务提供商部分,选择所有事件

  13. 选择事件总线中,选择自定义或合作伙伴事件总线

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

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

  16. 选择创建

目标服务会接收为您的账户配置的所有 Salesforce 事件。要筛选事件或将某些事件发送到不同的目标,您可以使用事件模式中基于内容的筛选

注意

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