请参阅 Application Integration 支持的连接器。
针对 Salesforce 变更数据捕获 (CDC) 事件调用集成
了解如何使用 Salesforce 触发器在应用集成中创建示例集成。以下步骤介绍了如何配置运行完整集成所需的触发器、任务、连接器和数据映射。
在本快速入门中,您将使用 Salesforce 触发器在 Application Integration 中针对 Salesforce 变更数据捕获 (CDC) 事件调用集成,如下图所示:
Salesforce 触发器已订阅 Salesforce 机会渠道。对 Salesforce 机会的数据更改会调用应用集成,以提取 Salesforce 机会的状态。如果状态为关闭,集成将提取机会详细信息并使用连接器将数据写入 Cloud SQL 实例。如果数据发生更改,但状态保持打开状态,则集成将使用连接器向 Pub/Sub 主题发送消息。
以下步骤介绍了如何配置运行成功集成所需的触发器、任务、身份验证配置文件、边缘、变量和数据映射。
准备工作
- 确认您的 Salesforce 开发者账号已启用变更数据捕获 (CDC)。本教程假定您已有 Salesforce 开发者账号,并且已设置所需的用户设置和权限。如需了解 Salesforce 用户设置和权限集,请参阅配置 Salesforce 触发器。
- 将以下 IAM 角色分配给 Google Cloud 项目中的 Application Integration Service Agent(
service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
)。- “发布/订阅”编辑者
- Connectors Admin
- Application Integration Invoker
- 创建 Cloud SQL 表以存储 Salesforce CDC 数据。
- 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面并连接到 MySQL 实例。请参阅从 Cloud Shell 连接到 Cloud SQL for MySQL。
- 在 Cloud SQL 实例上,创建以下 MySQL 数据库:
CREATE DATABASE SALESFORCE_TRIGGER_DEMO; USE SALESFORCE_TRIGGER_DEMO; CREATE TABLE OPPORTUNITIES ( ID INT NOT NULL AUTO_INCREMENT, NAME VARCHAR(150) NOT NULL, AMOUNT DOUBLE NOT NULL, DT_CLOSE VARCHAR(150) NOT NULL, PRIMARY KEY (ID) ); COMMIT;
- 执行以下命令,验证表是否已创建。
SELECT * FROM OPPORTUNITIES;
- 在连接器中创建 Cloud SQL for MySQL 连接。如需了解详情,请参阅创建 Cloud SQL for MySQL 连接。
- 在连接器中创建 Cloud Pub/Sub 连接。如需了解详情,请参阅创建 Cloud Pub/Sub 连接 。
创建新的集成
如需创建新的集成,请执行以下步骤:
- 在 Google Cloud 控制台中,前往 Application Integration 页面。
- 在导航菜单中,点击集成。随即会出现集成页面。
- 点击创建集成。
- 在创建 Integrations 对话框中输入名称和说明。例如
Demo-CDC-Opportunities
。 - 为集成选择一个区域。
- 点击创建以打开集成设计器。
添加和配置 Salesforce 触发器
如需将 Salesforce 触发器添加到集成中并进行配置,请执行以下步骤:
- 在集成设计器中,选择添加任务/触发器 > 触发器以显示可用触发器列表。
- 点击 Salesforce 触发器元素,并将其放置到集成设计器中。
- 点击画布上的 Salesforce 触发器元素以打开该触发器的配置窗格。
- 在触发器输入下,配置以下字段:
- 事件类型:从下拉列表中选择更改数据捕获 (CDC)。
- Salesforce 实例配置:点击 + 添加新的 Salesforce 实例配置选项。
此时会显示添加 Salesforce 实例配置对话框。
- Salesforce 实例连接名称:输入 Salesforce 实例的连接名称。例如
CDC-PlatformUser
。 - Salesforce 网域:输入您的 Salesforce 域名。您可以在 Salesforce 账号 > 查看个人资料页面中找到此信息。
- 身份验证配置文件:选择身份验证配置文件。 如果您没有身份验证配置文件,请创建新的配置文件。 如需了解相关信息,请参阅创建新的身份验证配置文件。
- 点击添加。
- Salesforce 实例连接名称:输入 Salesforce 实例的连接名称。例如
- Salesforce 渠道配置:点击下拉列表中的 + 添加新的 Salesforce 渠道配置选项。
此时会显示添加 Salesforce 渠道对话框。
- Salesforce 对象名称:输入
Opportunity
。 - 点击添加。
- Salesforce 对象名称:输入
- 操作:从下拉列表中选择更新。
系统会自动保存对属性的更改。
添加和配置任务
本教程使用连接器和数据映射任务。这些任务的配置详细信息如下所述。
使用 Cloud SQL for MySQL 连接配置连接器任务
执行以下步骤来配置连接器任务,以使用 Cloud SQL for MySQL 连接将记录插入现有 Cloud SQL 表中:
- 在集成设计器中选择 +添加任务/触发器 > 任务以显示可用任务列表。
- 点击连接器元素,并将其放置到集成设计器中。
- 点击设计器上的连接器任务元素,以查看连接器任务配置窗格。
- 点击
Insert row to Cloud SQL
。
,然后将连接器名称更改为 - 点击配置任务。
此时将显示配置连接器任务对话框。
- 在配置连接器任务对话框中,执行以下操作:
- 选择连接区域。
- 选择区域后,将显示连接列。从可用连接列表中选择您的 Cloud SQL for MySQL 连接。
- 选择连接后,系统会显示类型列。选择实体,然后从可用实体列表中选择机会。
- 选择类型后,系统将显示操作列。选择创建。
- 点击完成以完成连接配置并关闭窗格。
配置使用 Cloud Pub/Sub 连接的连接器任务
执行以下步骤以配置连接器任务,以使用 Cloud Pub/Sub 连接发布 Pub/Sub 消息:
- 在集成设计器中选择 +添加任务/触发器 > 任务以显示可用任务列表。
- 点击连接器元素,并将其放置到集成设计器中。
- 点击设计器上的连接器任务元素,以查看连接器任务配置窗格。
- 点击
Publish to cloud pub/sub
。
,然后将连接器名称更改为 - 点击配置任务。
此时将显示配置连接器任务对话框。
- 在配置连接器任务对话框中,执行以下操作:
- 选择连接区域。
- 选择区域后,将显示连接列。从可用连接列表中选择您的 Pub/Sub 连接。
- 选择连接后,系统会显示类型列。选择操作,然后从可用操作列表中选择 publishMessage。
- 点击完成以完成连接配置并关闭窗格。
配置数据映射任务
执行以下操作以配置数据映射任务:
- 选择添加任务/触发器 > 任务以显示可用任务列表。
- 点击数据映射元素,并将其放置到集成设计器中。
- 点击设计器上的数据映射元素,以打开任务的配置窗格。
- 点击打开数据映射编辑器。
借助数据映射编辑器,您可以使用可用的转换函数将输入变量映射为所需的输出变量。然后,输出可用作任何其他集成任务或触发器的变量。如需详细了解 以变量的形式传递数据,请参见 在 Application Integration 中使用变量。
- 点击 + 添加新变量并创建以下输出变量:
输出变量名称 数据类型 OpportunityIsClosed
Boolean
OpportunityId
String
PubSubMessage
String
- 在 SalesforceTriggerCdcPayload 变量和连接器输入载荷变量之间进行以下映射,如下表所示:
输入 输出 SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN()
OpportunityIsClosed
SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING()
OpportunityId
OpportunityId.TO_DOUBLE()
connectorInputPayload.ID(Insert row to Cloud SQL)
SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING()
connectorInputPayload.NAME(Insert row to Cloud SQL)
SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE()
connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING()
connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
OpportunityId.CONCAT(" is still open")
PubSubMessage
PubSubMessage
connectorInputPayload.message(Publish to cloud pub/sub)
映射完成后,关闭窗格。 所有更改都将自动保存。
添加边缘连接
边缘是集成中任何两个元素之间的连接;边缘条件可让您指定必须满足的条件,集成才能传递到通过边缘连接的任务。如需详细了解边缘和边缘条件,请参阅边缘。
- 添加从 Salesforce 触发器元素到数据映射元素的边缘连接。
- 使用以下边缘条件添加从数据映射元素到插入行到 Cloud SQL 连接器元素的边缘连接:
$OpportunityIsClosed$ = TRUE
- 使用以下边缘条件从数据映射元素到 Cloud Pub/Sub 连接器元素添加另一个边缘连接:
$OpportunityIsClosed$ = FALSE
测试集成
如需要测试新的集成,请执行以下操作:
- 点击集成设计器工具栏中的测试,然后选择 Salesforce 触发器。
此时将显示测试集成对话框。
- 点击测试集成。
通过登录 Salesforce 实例并将业务机会状态更改为“已关闭”来测试 Cloud SQL 任务。
通过登录 Salesforce 实例并更改有关业务机会的其他详情来测试 Pub/Sub 任务,但将业务机会保留“打开”状态。
如需详细了解测试,请参阅测试和发布集成。
如需验证集成是否成功,请执行以下操作:
- 转到 Cloud SQL 页面。 检查数据库和 Cloud SQL 日志,确认插入新行。
- 转到 Pub/Sub 页面。 选择您的 Pub/Sub 主题,然后点击查看消息,确认收到集成发出的消息。
- 检查应用集成日志以查看特定集成的状态。如需查看日志,请执行以下操作:
- 在集成设计器工具栏中点击日志。
- 在执行日志页面上,您可以查看每次尝试运行集成的相关详细信息。每个条目都包含执行尝试的相关详细信息,其中包括:
- 集成名称
- 执行 ID
- 状态
- 开始时间
- 时长
- 集成版本
- 触发器 ID
- 点击已执行集成旁边的展开箭头 (>),以查看集成中任务和变量的扩展列表,以及任务状态和变量载荷。