このページでは、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 プラグインのチュートリアルを実施する。