本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon EventBridge 中从 Salesforce 接收事件
您可以通过以下方式使用 Amazon EventBridge 从 Salesforce 接收事件:
-
使用 Salesforce's 事件总线中继功能,直接在 EventBridge 合作伙伴事件总线中接收事件。
-
在 Amazon AppFlow
中配置流,使用 Salesforce 作为数据来源。然后,Amazon AppFlow 使用合作伙伴事件总线向 EventBridge 发送 Salesforce 事件。
您可以使用 API 目标将事件信息发送到 Salesforce。事件发送到 Salesforce 后,即可通过流
使用事件总线中继从 Salesforce 接收事件
第 1 步:设置 Salesforce 事件总线中继和 EventBridge 合作伙伴事件源
在 Salesforce 上创建事件中继配置时,Salesforce 会在 EventBridge 中创建处于待处理状态的合作伙伴事件源。
配置 Salesforce 事件总线中继
第 2 步:在 EventBridge 控制台中激活Salesforce 合作伙伴事件源,并启动事件中继
现在,您已经设置并启动了事件总线中继,并配置了合作伙伴事件源,您可以创建一个可对事件做出反应的 EventBridge 规则,用于筛选数据并将其发送到目标。
使用 Amazon AppFlow 从 Salesforce 接收事件
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 作为合作伙伴事件源
要向 EventBridge 发送事件,您首先需要配置 Amazon AppFlow,使用 Salesforce 作为合作伙伴事件源。
-
在 Amazon AppFlow 控制台
中,选择创建流。 -
在流详细信息部分,在流名称中输入流的名称。
-
(可选)输入流的描述,然后选择下一步。
-
在源详细信息下,从源名称下拉列表中选择 Salesforce,然后选择连接以创建新连接。
-
在连接到 Salesforce 对话框中,为 Salesforce 环境选择生产或沙盒。
-
在连接名称字段中,输入连接的唯一名称,然后选择继续。
-
在 Salesforce 对话框中,执行以下操作:
-
输入您的 Salesforce 登录凭证,登录 Salesforce。
-
选择 Salesforce 事件作为数据类型,供 Amazon AppFlow 处理。
-
-
在选择 Salesforce 事件下拉列表中,选择要发送到 EventBridge 的事件类型。
-
目标选择 Amazon EventBridge。
-
选择创建新的合作伙伴事件源。
-
(可选)为合作伙伴事件源指定唯一的后缀。
-
选择生成合作伙伴事件源。
-
选择一个 Amazon S3 桶来存储大于 256KB 的事件负载文件。
-
在流触发器部分,确保选中按事件运行流。此设置可确保在发生新的 Salesforce 事件时执行流。
-
选择下一步。
-
要进行字段映射,请选择直接映射所有字段。也可以从源字段名称列表中选择您感兴趣的字段。
有关字段映射的更多信息,请参阅映射数据字段。
-
选择下一步。
-
(可选)为 Amazon AppFlow 中的数据字段配置筛选条件。
-
选择下一步。
-
检查设置,然后选择创建流。
配置流后,Amazon AppFlow 会创建一个新的合作伙伴事件源,然后您需要将其与您账户中的合作伙伴事件总线相关联。
步骤 2:配置 EventBridge 以接收 Salesforce 事件
在按照本节的说明进行操作之前,请确保已配置 Amazon AppFlow 流,该流从 Salesforce 事件触发,以 EventBridge 作为目标。
配置 EventBridge,接收 Salesforce 事件
-
在 EventBridge 控制台中打开合作伙伴事件源
页面。 -
选择您在步骤 1 中创建的 Salesforce 合作伙伴事件源。
-
选择与事件总线关联。
-
验证合作伙伴事件总线的名称。
-
选择关联。
-
在 Amazon AppFlow 控制台中,打开您创建的流,然后选择激活流。
-
在 Amazon EventBridge 控制台中打开规则
页面。 -
选择创建规则。
-
为规则输入唯一名称。
-
在定义模式部分,选择事件模式。
-
在事件匹配模式下,选择服务提供的预定义模式。
-
在服务提供商部分,选择所有事件。
-
在选择事件总线中,选择自定义或合作伙伴事件总线。
-
选择与 Amazon AppFlow 合作伙伴事件源关联的事件总线。
-
在选择目标中,选择规则运行时要执行的 AWS 服务。一个规则最多可以有五个目标。
-
选择创建。
目标服务会接收为您的账户配置的所有 Salesforce 事件。要筛选事件或将某些事件发送到不同的目标,您可以使用事件模式中基于内容的筛选。
注意
对于大于 256KB 的事件,Amazon AppFlow 不会将完整事件发送到 EventBridge。Amazon AppFlow 会将此事件放入您账户的 S3 桶中,然后将一个事件发送到 EventBridge,其中包含指向 Amazon S3 桶的指针。您可以使用此指针从桶中获取完整事件。