バッチ作成処理

オペレーション名

バッチ作成

機能概要

入力データを元にCSV形式のデータを作成し、指定したジョブに対してバッチ作成のリクエストを発行します。
入力データを指定したバッチサイズに従って分割し、バッチを作成します。
作成したバッチの情報は、出力スキーマから取得することができます。

本オペレーションが使用するSalesforceのAPI仕様については、以下のドキュメント(英語)を参照してください。
Standalone版では使用できません。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。
入出力のスキーマについては「スキーマ」を参照してください。

プロパティ

基本設定

項目名 必須/省略可 変数の使用 説明 補足
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  

必須設定

項目名 必須/省略可 変数の使用 説明 補足
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」プロパティにて、グローバルリソースの設定を編集することができます。
 
ジョブID 必須 使用可 バッチを作成するジョブのIDを入力します。  
テーブル名 必須 使用不可 指定したジョブのオブジェクトに対応したSalesforceのテーブル名を選択します。  
スキーマ定義 必須
-
バッチに登録するCSVデータのヘッダ行とする項目を設定します。
  • ジョブのオペレーション種類によって必要な項目が異なります。
    • 「UPDATE」の場合、「Id」を含む必要があります。
    • 「UPSERT」の場合、ジョブに指定されている「外部ID項目」を含む必要があります。
    • 「DELETE」の場合、「Id」のみとします。
  • Salesforceに対して書き込みが必要な項目に限定(不要な項目をスキーマ定義から除く)することにより、処理効率が向上します。
  • APIの仕様として、データ型が「base64」と定義された項目を扱う事はできません。このような項目が選択されている場合、例外をスローします。
スキーマ定義/ラベル 必須 使用不可 [テーブル名]で指定したテーブルの列のラベル名を表示します。  
スキーマ定義/API 必須 使用不可 [テーブル名]で指定したテーブルの列のAPI名を表示します。  
スキーマ定義/型 必須 使用不可 [テーブル名]で指定したテーブルの列のデータ型を表示します。  
リレーションシップ項目定義 省略可
-
スキーマ定義にリレーション項目が存在する場合、外部キーによる更新を行うための項目を設定します。
  • リレーション先オブジェクトの外部キー項目を選択することにより、リレーション関係を持たせたデータの受け渡しが可能となります。
    詳細については、「リレーションシップ項目定義」を参照してください。
リレーションシップ項目定義/元項目API名 必須 使用不可 [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。  
リレーションシップ項目定義/リレーションシップ名 必須 使用不可 [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。  
リレーションシップ項目定義/オブジェクトAPI名 必須 使用不可 [テーブル名]で指定したテーブルのリレーション項目の列のリレーション先のオブジェクトのAPI名を表示します。  
リレーションシップ項目定義/リレーション用カラムAPI名 省略可 使用不可 [テーブル名]で指定したテーブルのリレーション項目の列のリレーション先オブジェクトの外部キー項目を選択します。
  • 省略した場合、リレーション先オブジェクトの該当レコードのIDを受け渡す仕様となります。
プロパティアクション
項目名 説明 補足
スキーマの作成 バッチに登録するCSVデータのヘッダ行の追加・削除を行うことができます。
設定方法については、「スキーマの作成」を参照してください。
 

オプション設定

項目名 必須/省略可 変数の使用 説明 補足
Null/空文字を"#N/A"へ置き換える 必須 使用不可 入力データがnullまたは空文字であった場合、文字列「#N/A」に置き換えるかどうかを選択します。
  • [チェックあり]:(デフォルト)
    置き換えを行います。
  • [チェックなし]:
    置き換えを行いません。
  • APIの仕様として、nullで更新する場合は文字列「#N/A」を指定する必要があります。
バッチサイズ 必須 使用可 1つのバッチに登録するレコード件数の上限を入力します。

  • デフォルト値は「2000」です。
  • 「1」以上「10000」以下の値が指定できます。範囲以外の値が指定された場合、例外をスローします。
  • 本アダプタの仕様として、100,000件のデータを書き込むケースで、バッチサイズを2,000と設定した場合、50のバッチを作成します。
    ただし、1つのバッチがAPIの制限値である「10MB」を超えてしまう場合は、指定したバッチサイズ以下でバッチを作成します。
カラム名タイプ 必須 使用不可 マッピングでスキーマを表示する際のカラム名の表示タイプを選択します。
  • [ラベル]:
    Salesforceで定義されたラベル名(項目名)で表示します。
  • [API]:(デフォルト)
    Salesforceで定義されたAPI参照名で表示します。
 
プロパティアクション
項目名 説明 補足
テーブル情報の表示 [接続先]で選択されているSalesforceのテーブル構造を確認できます。
テーブル構造の参照方法については、「テーブル情報の表示」を参照してください。
 

データ処理方式

項目名 必須/省略可 変数の使用 説明 補足
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 

コメント

項目名 必須/省略可 変数の使用 説明 補足
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

スキーマは入出力ともにテーブルモデル型のスキーマです。テーブルモデル型のスキーマについては「こちら」 を参照してください。

入力スキーマ

[スキーマ定義]で選択したスキーマが入力スキーマとなります。

出力スキーマ

作成したバッチの情報が出力されます。以下、ラベル/API名という形式で表記します。
<?xml version="1.0" encoding="UTF-8" ?>
<table>
  <row>
    <column>バッチID/batchId</column>
    <column>状況/state</column>
    <column>状態メッセージ/stateMessage</column>
    <column>開始時刻/createdDate</column>
    <column>投入レコード件数/inputRecordCount</column>
  </row>
  <row>
    :
  </row>
</table>
		

大容量データ処理

大容量データ処理に対応しています。

トランザクション

トランザクションはサポートしていません。

使用できるコンポーネント変数

コンポーネント変数名 説明
job_id 指定したジョブのIDを返します。エラーが発生した場合にはnullが返ります。
read_count 他のオペレーションから受け渡された入力データの件数を返します。エラーが発生した場合にはnullが返ります。
created_batch_count 作成したバッチの件数を返します。エラーが発生した場合にはnullが返ります。
operation_api_exception_code APIエラーが発生したときに、ExceptionCodeを返します。
APIエラー以外のエラーが発生した場合にはnullを返します。
バージョンにより、内容が変わる可能性があります。
operation_error_message エラーが発生したときのエラーメッセージを返します。
バージョンにより、内容が変わる可能性があります。
operation_error_trace エラーが発生したときのトレース情報を返します。
バージョンにより、内容が変わる可能性があります。


リレーションシップ項目定義

参照項目(reference項目)の更新処理では、通常、参照先オブジェクトのIDをMapperにて受け渡して更新しますが、当設定を行うことにより、参照先オブジェクトの外部キー項目の値をMapperにて受け渡すことで、外部キーに対応するレコードのIDを自動で取得し更新することが可能となります。

スキーマの作成

バッチに登録するCSVデータのヘッダ行とする項目をスキーマの作成で指定することができます。
処理に必要な項目のみを指定することにより、Salesforceに対する通信データ量を削減することができ、一般的に処理効率が向上します。
Salesforceへ書き込み(追加・更新)を行なう場合、「追加不可」または「更新不可」の項目は未選択にする必要があります。

テーブル情報の表示

Salesforceのテーブルに対する操作可能な処理、およびテーブルのフィールド属性を確認することができます。
また、フィールド情報については、印刷することも可能です。