次の方法で共有


コピーアクティビティで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 オブジェクトのすべてのデータが取得されます。

        クエリの使用 - SOQL クエリを示すスクリーンショット。

[詳細設定] では、次のフィールドを指定できます。

  • 削除されたオブジェクトを含める: 既存のレコードに対してクエリを実行するか (選択されていない)、または削除されたレコード (選択) を含むすべてのレコードに対してクエリを実行するかを指定します。
  • 追加の列: ソース ファイルの相対パスまたは静的値を保存するための追加のデータ列を追加します。 後者では式がサポートされています。

宛先

コピー アクティビティの [宛先] タブでは、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 開発者の制限「一般的な制限」セクションを参照してください。