このページでは、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
句を使用して、参照フィールド Account__r.OwnerId
を使用して Salesforce の Lead
SObject からデータを取得します。
このクエリは、Lead
SObject の選択したフィールドと、Account
親オブジェクトにリンクされたルックアップのリレーショナル フィールドからデータを返します。リレーショナル SObject のクラスタから複数のデータ フィールドをクエリできます。
シナリオ 3: WHERE 句と OFFSET 句を使用した関係クエリ
次のクエリは、特定の Industry
型と OFFSET
句に関連する複数の SObject(Account
と Contacts
)からデータを取得します。
SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias = 'x') FROM Account WHERE Industry = 'media'
offset 4
OFFSET
句を使用すると、複数のページに結果を返すことができます。これは、サイズの大きな結果セットを効率的に処理する方法です。
次のステップ
- Cloud Data Fusion で Salesforce バッチソースを構成する。
- Salesforce プラグインのチュートリアルを実施する。