ユースケース: 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 句を使用して、参照フィールド Account__r.OwnerId を使用して Salesforce の Lead SObject からデータを取得します。

このクエリは、Lead SObject の選択したフィールドと、Account 親オブジェクトにリンクされたルックアップのリレーショナル フィールドからデータを返します。リレーショナル SObject のクラスタから複数のデータ フィールドをクエリできます。

シナリオ 3: WHERE 句と OFFSET 句を使用した関係クエリ

次のクエリは、特定の Industry 型と OFFSET 句に関連する複数の SObject(AccountContacts)からデータを取得します。

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

OFFSET 句を使用すると、複数のページに結果を返すことができます。これは、サイズの大きな結果セットを効率的に処理する方法です。

次のステップ