用例:针对 Salesforce 来源的 SOQL 查询

本页介绍了在 Cloud Data Fusion 中使用 Salesforce 源时如何使用 SOQL 关系查询。

借助 Salesforce 来源,您可以无缝连接到 Salesforce 并将大量数据加载到 Google Cloud。为了简化数据加载,您可以使用 SOQL 关系查询检索记录,并减少 Salesforce 中的 API 调用次数。

准备工作

  1. 在 Cloud Data Fusion 中部署并配置 Salesforce 来源的媒体资源。如需了解详情,请参阅 Salesforce 批量来源

  2. 在流水线中的 Salesforce 节点上,点击属性。这会打开 Salesforce 插件属性页面。

以下部分介绍了如何在属性页面上配置 SOQL 查询字段。

场景 1:包含多态键和限制的关系查询

以下关系查询示例包含多态键和限制:

SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName like 'B%' Limit 100

此查询会从与 Owner 相关的 Task SObject 中提取数据。它会从 Task SObject 中的所选字段读取数据。它包含一个 WHERE 子句和一个占位符,您可以为其指定合适的值。

通过此查询,您可以使用占位符变量访问必需字段。它会限制提取到 100 的记录数量。

场景 2:包含自定义对象的子级到父级关系查询

以下查询会从具有子级到父级关系的自定义对象中提取数据:

SELECT Email,newsales__c,Account__r.OwnerId FROM lead WHERE Account__r.Lead Source LIKE 'C%

此查询使用 SELECT 子句从 Salesforce 中的 Lead SObject 提取数据,并使用参考字段 Account__r.OwnerId

该查询会返回 Lead SObject 中所选字段的数据,以及与 Account 父对象关联的查询中的相关字段的数据。您可以从一组关系型 SObject 中查询多个数据字段。

场景 3:包含 WHERE 子句和 OFFSET 子句的关系查询

以下查询会从多个 SObject(AccountContacts)中提取与特定 Industry 类型和 OFFSET 子句相关的数据:

SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias = 'x') FROM Account WHERE Industry = 'media'
offset 4

借助 OFFSET 子句,您可以分多个页面返回结果,这是一种处理大型结果集的高效方式。

后续步骤