Bulkデータ読み取り(QUERY)処理

オペレーション名

Bulkデータ読み取り(QUERY)

機能概要

Bulk APIを使用したQUERY処理を行い、CSVファイルを作成します。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行います。

実行される処理の詳細については、「プロセスフロー」を参照してください。

本オペレーションが使用するAPI仕様については、グローバルリソースで選択したバージョンのAPIドキュメントを以下のリンク先ページより参照してください。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
  • API 29.0以降のグローバルリソースが選択可能です。
SOQL 必須 使用可 実行するSOQL文を入力します。
  • Bulk API クエリでは、次のSOQLはサポートされていません。
    • COUNT
    • ROLLUP
    • SUM
    • GROUP BY CUBE
    • OFFSET
    • ネストされたSOQLクエリ
    • リレーション項目
    • Base64項目
ファイル 必須 使用可 CSV形式のファイルパスを入力します。
[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
エンコード 必須 使用可 書き込むファイルのエンコードを選択または入力します。

入力する場合は、Java SE Runtime Environment 8でサポートされているエンコードを指定します。
詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
  • デフォルト値は「UTF-8」です。
改行コード 必須 使用不可 改行コードを選択します。
  • [AUTO]:(デフォルト)
    SkyOnDemand Serverが稼働しているOSの改行コード「LF」になります。
  • [CR]:
  • [LF]:
  • [CR+LF]:
 
プロパティアクション
項目名 説明 備考
プレビュー プレビューアを起動して、[ファイル]で指定したファイルの内容を表示します。
  • 指定したファイルが存在しない場合、または[ファイル]に変数が設定されている場合は無効になります。
  • [エンコード]で指定したエンコードで表示されます。
  • ファイル内容の編集はできません。
  • プレビューアで表示できるファイルのサイズは最大1MBです。ファイルサイズが1MBを超える場合、ファイルの先頭から1MB分が表示されます。
Bulkオペレーション設定
項目名 必須/省略可 変数の使用 説明 備考
同時実行モード 必須 使用不可 ジョブの同時実行モードを選択します。
  • [並列]:(デフォルト)
    並列モードでジョブを作成します。
  • [順次]:
    順次モードでジョブを作成します。
  • 並列処理を行うと、データベースの競合が生じる可能性があります。競合が激しいと、読み込みが失敗することがあります。
    順次モードを使用すれば、バッチは1つずつ確実に処理されます。ただし、このオプションを使用すると、読み込みの処理時間が大幅に増える場合があります。
実行後ジョブ状況 必須 使用不可 作成したジョブを、実行後にクローズするかどうかを選択します。
  • [クローズする]:(デフォルト)
    実行後にジョブをクローズします。
  • [クローズしない]:
    実行後にジョブをクローズしません。状況はオープンのままとなります。
 
処理完了を待ちバッチ結果を取得する 必須 使用不可 作成したバッチが完了するまで状況を監視し、バッチ結果を取得するかどうかを選択します。
  • [チェックあり]:(デフォルト)
    バッチ結果を取得します。
  • [チェックなし]:
    バッチ結果を取得しません。
 
監視開始までの待機時間(秒) 省略可 使用可 バッチ状況の監視を開始するまでの待機時間を、秒で入力します。
  • デフォルト値は「3」です。
  • [処理完了を待ちバッチ結果を取得する]にチェックを入れた場合のみ有効になります。
  • 3以上10800以下が指定可能です。範囲以外の値が指定された場合、エラーが発生します。
バッチ状況監視間隔(秒) 省略可 使用可 バッチ情報を取得し処理が完了しているか判断する間隔を、秒で入力します。
  • デフォルト値は「10」です。
  • [処理完了を待ちバッチ結果を取得する]にチェックを入れた場合のみ有効になります。
  • 10以上600以下が指定可能です。範囲以外の値が指定された場合、エラーが発生します。
トランザクション
項目名 必須/省略可 変数の使用 説明 備考
トランザクション処理を行う 必須 使用不可 トランザクション処理を行うかどうかを選択します。
  • [チェックあり]:
    トランザクション処理を行います。
  • [チェックなし]:(デフォルト)
    トランザクション処理を行いません。
詳細については、「ファイル系アダプタのトランザクション」を参照してください。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

ありません。

出力スキーマ

ありません。

トランザクション

トランザクションをサポートしています。

[トランザクション][トランザクション処理を行う]にチェックを入れた場合のみトランザクションは有効になります。

PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 説明 備考
job_id 作成したジョブのIDが格納されます。
  • デフォルト値はnullです。
batch_id 作成したバッチのIDが格納されます。
  • デフォルト値はnullです。
number_records_processed バッチの処理済みレコード件数が格納されます。
  • デフォルト値はnullです。
number_records_failed バッチで正常に処理されなかったレコード件数が格納されます。
  • デフォルト値はnullです。
created_date バッチの開始時刻が格納されます。
  • デフォルト値はnullです。
state バッチの状況が格納されます。
  • デフォルト値はnullです。
state_message バッチの状態メッセージが格納されます。
  • デフォルト値はnullです。
apex_processing_time バッチに関連するトリガおよび他のプロセスの処理時間(ミリ秒)が格納されます。
  • デフォルト値はnullです。
api_active_processing_time バッチの処理時間(ミリ秒)が格納されます。
バッチがキューで処理を待機している時間や、逐次化および並列化に要する時間は含まれません。
  • デフォルト値はnullです。
total_processing_time バッチの合計処理時間(ミリ秒)が格納されます。
バッチがキューで処理を待機している時間は含まれません。
  • デフォルト値はnullです。
system_modstamp バッチのシステム時刻が格納されます。
  • デフォルト値はnullです。
queryResultCount サーバに作成されたファイルの件数が格納されます。
  • デフォルト値はnullです。
server_url ログイン後のエンドポイントURLが格納されます。
  • デフォルト値はnullです。
session_id セッションIDが格納されます。
  • デフォルト値はnullです。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
operation_api_exception_code APIエラー発生時、発生したエラーのExceptionCodeが格納されます。
  • デフォルト値はnullです。
  • APIエラー以外のエラー発生時は、値が格納されません。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
operation_error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
operation_error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。

プロセスフロー

データ読み込みを行うために必要となるジョブやバッチの作成および管理を行います。
ジョブ作成、バッチ作成は必ず行われます。
ジョブ/バッチ情報取得、バッチ結果取得、ジョブ更新(クローズ)は、プロパティの設定値によって実行有無を選択することができます。

QUERYジョブでは、最大1ギガバイトに分割された複数のデータファイルがサーバサイドに作成されます。
本コンポーネントでは、分割されたファイルの内容をそれぞれダウンロードし、1つのファイルとして出力します。



画像内の番号 名称 説明 備考
(1) 必須処理 プロパティの設定値に関わらず、必須で実行される処理です。  
(2) ジョブ/バッチ情報取得、バッチ結果取得の実行有無を選択 [Bulkオペレーション設定]タブの[処理完了を待ちバッチ結果を取得する]の値によって、実行有無を選択することができます。
  • [処理完了を待ちバッチ結果を取得する]にチェックを入れた場合、処理が行われます。
(3) ジョブ更新(クローズ)の実行有無を選択 [Bulkオペレーション設定]タブの[実行後ジョブ状況]の値によって、実行有無を選択することができます。
  • [実行後ジョブ状況]に「クローズする」を選択した場合、処理が行われます。
(4) ジョブ/バッチ情報取得の繰り返し 処理が完了するまで[Bulkオペレーション設定]タブの[バッチ状況監視間隔(秒)]の値の間隔で繰り返しジョブ/バッチ情報取得を行います。  
(5) バッチ結果取得の繰り返し バッチに作成されたクエリ結果ファイルの件数分繰り返します。  

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
java.net.UnknownHostException グローバルリソースで指定したPROXYサーバが見つからない例外です。 PROXYサーバの状態を確認して下さい。または、[接続先]で指定したグローバルリソースの[Proxyホスト]を確認してください。
java.net.SocketTimeoutException
connect timed out
Salesforceに接続中にタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[Connectionタイムアウト(秒)]を確認してください。
java.net.SocketTimeoutException
Read timed out
Salesforceに接続後、サーバからの応答までにタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[タイムアウト(秒)]を確認してください。
jp.co.headsol.salesforce.adapter.exception.SalesforceAdapterIllegalArgumentException SalesforceBulkアダプタのプロパティの設定値が不正です。 エラーメッセージを確認し、設定内容をご確認ください。
com.sforce.soap.partner.fault.LoginFault Salesforceへのログインに失敗しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。
com.sforce.async.AsyncApiException SalesforceBulkアダプタにて実行したジョブまたはバッチにてエラーが発生しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。

注意事項