コピーアクティビティでSalesforceを構成する
この記事では、データ パイプラインのコピー アクティビティを使用して、Salesforce との間でデータをコピーする方法について説明します。
サポートされている構成
Copy アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。
全般
[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。
ソース
コピー アクティビティの [ソース] タブでは、Salesforce に対して次のプロパティがサポートされています。
次のプロパティは必須です。
- 接続: 接続リストから Salesforce 接続を選択します。 接続が存在しない場合は、「新規」を選択して新規 Salesforce 接続を作成します。
- クエリの使用: API オブジェクト、レポート、または SOQL クエリから選択します。
API オブジェクトを選択した場合:
- API オブジェクト: データを取得する Salesforce オブジェクト名を指定します。 ドロップダウンリストから名前を選択します。
レポートを選択した場合:
レポート ID: データを取得する Salesforce レポートの ID を指定します。 宛先ではサポートされていません。 レポートを使用する場合は制限があります。
SOQLクエリを選択した場合:
SOQL クエリ: カスタム クエリを使用してデータを読み取ります。 Salesforce オブジェクト クエリ言語 (SOQL) クエリは、Bulk API 2.0 クエリの理解に関する制限付きでのみ使用できます。 SOQL クエリを指定しない場合は、API オブジェクトまたはレポート ID で指定された Salesforce オブジェクトのすべてのデータが取得されます。
[詳細設定] では、次のフィールドを指定できます。
- 削除されたオブジェクトを含める: 既存のレコードに対してクエリを実行するか (選択されていない)、または削除されたレコード (選択) を含むすべてのレコードに対してクエリを実行するかを指定します。
- 追加の列: ソース ファイルの相対パスまたは静的値を保存するための追加のデータ列を追加します。 後者では式がサポートされています。
宛先
コピー アクティビティの [宛先] タブでは、Salesforce に対して次のプロパティがサポートされています。
次のプロパティは必須です。
- 接続: 接続リストから Salesforce 接続を選択します。 接続が存在しない場合は、「新規」を選択して新規 Salesforce 接続を作成します。
- API オブジェクト: データを書き込む Salesforce オブジェクト名を指定します。 ドロップダウンリストから名前を選択します。
[詳細設定] では、次のフィールドを指定できます。
書き込み動作: 操作の書き込み動作を指定します。 使用可能な値: Insert および Upsert。 ドロップダウン リストからビヘイビアーを選択できます。
[Upsert] を選択した場合:
外部 ID フィールド: アップサート操作の外部 ID フィールドの名前。 指定されたフィールドは、Salesforce オブジェクトの外部 ID フィールドとして定義する必要があります。 対応する入力データに NULL 値を持つことはできません。
NULL 値を無視: 書き込み操作中に入力データから NULL 値を無視するかどうかを指定します。
- 選択されている場合: アップサートまたは更新操作を実行するときに、宛先オブジェクトのデータは変更されません。 挿入操作を実行するときに、定義済みのデフォルト値を挿入します。
- 選択されていない場合: アップサートまたは更新操作を実行するときに、宛先オブジェクト内のデータを NULL に更新します。 挿入操作を実行するときに、NULL 値を挿入します。
書き込みバッチ サイズ: 各バッチで Salesforce に書き込まれるデータの行数を指定します。 この値を 10,000 から 200,000 に設定することをお勧めします。 各バッチの行数が少なすぎると、コピーのパフォーマンスが低下します。 各バッチの行数が多すぎると、API のタイムアウトが発生する可能性があります。
最大コンカレント接続数: アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。
マッピング
[マッピング] タブの構成については、「[マッピング] タブでマッピングを構成する」をご覧ください。
設定
[設定] タブの構成については、「[設定] タブで他の設定を構成する」を参照してください。
表の概要
次の表には、Salesforce のコピー アクティビティに関する詳細情報が記載されています。
ソース情報
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
接続 | ソース データ ストアへの実際の接続。 | <Salesforce 接続> | はい | つながり |
接続の種類 | 実際の接続の種類。 Salesforce オブジェクトを選択します。 | SalesforceObject | はい | / |
クエリの使用 | Salesforce からデータを読み取る方法。 | • API オブジェクト • レポート • SOQL クエリ |
はい | / |
API オブジェクトの場合 | ||||
API オブジェクト | データを取得する Salesforce オブジェクト名を指定します。 | < オブジェクト名 > | はい | objectApiName |
Report の場合 | ||||
レポート ID | データの取得先である Salesforce レポートの ID。 宛先ではサポートされていません。 レポートを使用する場合は制限があります。 | <レポート ID> | はい | reportId |
SOQL クエリの場合 | ||||
SOQL クエリ | カスタム クエリを使用してデータを読み取ります。 Salesforce オブジェクト クエリ言語 (SOQL) クエリは、Bulk API 2.0 クエリの理解に関する制限付きでのみ使用できます。 SOQL クエリを指定しない場合は、API オブジェクトまたはレポート ID で指定された Salesforce オブジェクトのすべてのデータが取得されます。 | < SOQL クエリ > | はい | クエリ |
削除されたオブジェクトを含める | 既存のレコード、または削除されたものを含むすべてのレコードの、どちらのクエリを行うかを示します。 | 選択または非選択 (デフォルト値) | いいえ | includeDeletedObjects: true または false (デフォルト値) |
追加の列 | ソース ファイルの相対パスまたは静的値を保存するための追加のデータ列を追加します。 後者では式がサポートされています。 | • 名前 • 値 |
いいえ | additionalColumns: •名前 • value |
コピー先の情報
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
接続 | コピー先データ ストアへの接続。 | <Salesforce 接続> | はい | connection |
API オブジェクト | データを書き込む Salesforce オブジェクト名を指定します。 | < オブジェクト名 > | はい | objectApiName |
書き込み動作 | 操作の書き込み動作。 使用可能な値: Insert および Upsert。 ドロップダウン リストからビヘイビアーを選択できます。 | • [挿入] • [Upsert](アップサート) |
いいえ (デフォルト値は Insert) | writeBehavior: insert upsert |
外部 ID フィールド | Upsert 操作の外部 ID フィールドの名前。 指定されたフィールドは、Salesforce オブジェクトの外部 ID フィールドとして定義する必要があります。 対応する入力データに NULL 値を持つことはできません。 | < 外部 ID フィールド > | "Upsert" の場合ははい | externalIdFieldName |
null 値を無視する | 書き込み操作時に入力データからの NULL 値を無視するかどうかを示します。 | 選択または非選択 (デフォルト値) | いいえ | ignoreNullValues: true または false (デフォルト値) |
[Write batch size](書き込みバッチ サイズ) | 各バッチで Salesforce に書き込まれたデータの行数。 この値を 10,000 から 200,000 に設定することをお勧めします。 各バッチの行数が少なすぎると、コピーのパフォーマンスが低下します。 各バッチの行数が多すぎると、API のタイムアウトが発生する可能性があります。 | <行数> (整数) |
いいえ (デフォルト値は 100,000) | writeBatchSize |
最大コンカレント接続数 | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | <最大コンカレント接続数> | いいえ | maxConcurrentConnections |
Salesforce Bulk API 2.0 の制限
Salesforce Bulk API 2.0 を使用して、データのクエリと取り込みを行います。 Bulk API 2.0 では、バッチが自動的に作成されます。 24 時間のロール期間あたり最大 15,000 件のバッチを送信できます。 バッチが上限を超えると、エラーが発生します。
Bulk API 2.0 では、取り込みジョブのみがバッチを使用します。 クエリ ジョブは使用しません。 詳細については、「Bulk API 2.0 Developer Guide (Bulk API 2.0 開発者ガイド)」の「How Requests Are Processed」(要求の処理方法) を参照してください。
詳細については、Salesforce 開発者の制限の「一般的な制限」セクションを参照してください。