本页介绍了在 Cloud Data Fusion 中使用 Salesforce 源时如何使用 SOQL 关系查询。
借助 Salesforce 来源,您可以无缝连接到 Salesforce 并将大量数据加载到 Google Cloud。为了简化数据加载,您可以使用 SOQL 关系查询检索记录,并减少 Salesforce 中的 API 调用次数。
准备工作
在 Cloud Data Fusion 中部署并配置 Salesforce 来源的媒体资源。如需了解详情,请参阅 Salesforce 批量来源。
在流水线中的 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(Account
和 Contacts
)中提取与特定 Industry
类型和 OFFSET
子句相关的数据:
SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias = 'x') FROM Account WHERE Industry = 'media'
offset 4
借助 OFFSET
子句,您可以分多个页面返回结果,这是一种处理大型结果集的高效方式。
后续步骤
- 在 Cloud Data Fusion 中配置 Salesforce 批量数据源。
- 完整学习 Salesforce 插件教程。