HTTPトリガー

オペレーション名

HTTPトリガー

機能概要

HTTPトリガーは、指定したURLに対しHTTPクライアントからリクエストを送ることで、スクリプトを実行するトリガー機能です。

発火イメージ



プロパティ

HTTPトリガーの設定
項目名 内容 備考
トリガー名 トリガーの名前を入力します。  
実行パス トリガーの実行パスを入力します。
  • デフォルト値は「path」です。
  • 例:実行パスに「run」を指定した場合、トリガー実行のURLは以下のようになります。

    http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<DataSpiderServerのポート番号>/dataspider/trigger/run

  • [コントロールパネル]-[DataSpiderServerの設定]-[セキュリティ]タブの[HTTPSを有効にする]にチェックを入れた場合、トリガー実行のURLは以下のようになります。

    https://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<DataSpiderServerのSSLポート番号>/dataspider/trigger/run

正常終了時の動作 HTTPトリガーで実行したスクリプトが正常終了した場合の動作を選択します。
  • [スクリプトで生成されたページを返す]:(デフォルト)
    トリガー変数「trigger.outputData」変数内のデータを返します。
  • [別ページへフォワードさせる]:
    JSPなど別のウェブページにフォワードします。
  • フォワードできるページはJSPまたはHTMLです。
  • JSPファイルは、$DATASPIDER_HOME/server/system/kernel/modules/webcontainer/META-INF/catalina/webapps/dataspider以下に配置してください。
異常終了時の動作 HTTPトリガーで実行したスクリプトが異常終了した場合の動作を選択します。
  • [ウェブサーバのエラーページを返す]:(デフォルト)
    ウェブサーバで設定されているエラーページを返します。
  • [別ページへフォワードさせる]:
    JSPなど別のウェブページにフォワードします。
  • フォワードできるページはJSPまたはHTMLです。
  • JSPファイルは、$DATASPIDER_HOME/server/system/kernel/modules/webcontainer/META-INF/catalina/webapps/dataspider以下に配置してください。
リクエスト設定 リクエストに関する設定を行います。  
リクエスト設定/エンコーディング HTTPトリガーがリクエストを取得した時のエンコードを指定します。
  • デフォルト値は「UTF-8」です。
  • XMLデータを受け取る場合は、エンコードの指定は無効となります。
    XMLデータにXML符号化宣言が存在する場合はそのエンコードで、存在しない場合はUTF-8として扱います。
レスポンス設定 レスポンスに関する設定を行います。
  • HTTPトリガーで実行したスクリプトが異常終了した場合は、[レスポンス設定]の設定は無効となり、[異常終了時の動作]で設定した動作を行います。
レスポンス設定/エンコーディング HTTPトリガーがレスポンスを返す時のエンコードを指定します。
  • デフォルト値は「UTF-8」です。
  • 別ページにフォワードさせる場合は、エンコードの指定は無効となります。
    フォワードされるJSP側でエンコードの指定が必要になります。
レスポンス設定/Content-Type レスポンスのContent-Typeヘッダのメディアタイプを選択します。
  • [指定しない]:
    レスポンスとして返すデータに応じたメディアタイプを使用します。
    データがXMLデータではない場合、「text/html」を使用します。
    データがXMLデータではある場合、「text/xml」を使用します。
  • [text/html]:(デフォルト)
    「text/html」を使用します。
  • [text/xml]:
    「text/xml」を使用します。
  • [text/plain]:
    「text/plain」を使用します。
  • [text/csv]:
    「text/csv」を使用します。
  • [text/csv]を選択した場合の動作については、「CSV出力について」を参照してください。
レスポンス設定/ファイルとして出力 レスポンスをファイルとして出力するかどうかを選択します。
レスポンス設定/ファイル名 出力するファイル名を入力します。
  • [レスポンス設定/ファイルとして出力]チェックを入れた場合、有効になります。
  • マルチバイト文字を使用することはできません。
実行内容の設定
項目名 内容 備考
トリガー所有者 作成するトリガーの所有者を選択します。
  • 管理者権限を持ったユーザのみ選択できます。
    (一般ユーザは自分以外を選択することはできません。)
実行ユーザ名 [スクリプト]で指定したスクリプトを実行するユーザを選択します。  
パスワード [実行ユーザ名]で指定したユーザに対応したパスワードを入力します。  
サービス トリガーで実行するスクリプトを含むサービスを選択します。
  • サービスとして登録されたプロジェクトが表示されます。
スクリプト トリガーで実行するスクリプトを選択します。
  • [サービス]で指定したサービス内のスクリプトが表示されます。
スクリプト引数 [スクリプト]で指定したスクリプトに設定されているスクリプト入力変数が表示されます。
  • スクリプト出力変数は表示されません。
スクリプト引数/変数名 スクリプト変数名が表示されます。
  • 編集はできません。
スクリプト引数/型 スクリプト変数の型が表示されます。
  • 編集はできません。
スクリプト引数/値 スクリプト変数の値を入力します。
スクリプト出力 [スクリプト]で指定したスクリプトに設定されているスクリプト出力変数が表示されます。
  • スクリプト入力変数は表示されません。
スクリプト出力/変数名 スクリプト変数名が表示されます。
  • 編集はできません。
スクリプト出力/型 スクリプト変数の型が表示されます。
  • 編集はできません。
スクリプト出力/値 スクリプト変数の値を入力します。
実行オプションの設定
実行オプションの設定については、「実行オプションの設定」を参照してください。

トリガー変数

HTTPトリガーでは、実行スクリプトから情報を取得することができます。
また、この変数をJSPなどにフォワードすることもできます。JSPで「HttpServletRequest.getAttribute("変数名")」で取得できます。

トリガー変数名 内容 備考
入力データ trigger.inputData リクエストのContent-Typeヘッダの値が「text/xml」の場合、リクエスト本体をXML形式のデータとしてスクリプト入力変数に格納します。
  • 指定例:${trigger.inputData}
  • 値を設定できるスクリプト入力変数はXML型のみです。
終了コード trigger.exitStatus 実行スクリプトの終了ステータスです。
  • 指定例:${trigger.exitStatus}
異常終了時メッセージ trigger.failureMessage 実行スクリプトが異常終了した場合のエラーメッセージ文字列です。
  • 指定例:${trigger.failureMessage}
サービス名 trigger.serviceName 実行スクリプトのサービス名です。
  • 指定例:${trigger.serviceName}
  • 互換性のため、trigger.projectNameでも動作します。
スクリプト名 trigger.scriptName 実行スクリプト名です。
  • 指定例:${trigger.scriptName}
出力データ trigger.outputData [正常終了時の動作][スクリプトで生成されたページを返す]を選択した場合、この変数内のデータをHTTPクライアントに返します。
  • 指定例:${trigger.outputData}
  • 互換性のため、trigger.outputHtmlでも動作します。
クライアントアドレス trigger.client_address リクエストを送信したクライアントまたは最後のプロキシサーバのIPアドレスをスクリプト入力変数に格納します。
  • 指定例:${trigger.client_address}

リクエストパラメータ設定方法

実行スクリプトのスクリプト入力変数に対し、リクエストパラメータの値を設定することができます。

以下のスクリプトでは、文字列型のスクリプト入力変数「input」が定義されています。



リクエストパラメータで動的にスクリプト入力変数「input」の値を設定することができます。
例:http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<DataSpiderServerのポート番号>/dataspider/trigger/<実行パス>?<スクリプト入力変数名>=<>

リクエストパラメータは、GET、POSTの両方をサポートしています。また、リクエストパラメータで値を設定できるスクリプト入力変数は文字列型のみです。

CSV出力について

[レスポンス設定/Content-Type][text/csv]を指定した場合、トリガー変数「trigger.outputData」変数に渡されたデータによって以下のようにデータを出力します。

ファイル出力について

[レスポンス設定/ファイルとして出力]にチェックを入れた場合、レスポンスヘッダのフィールドは以下のように設定されます。
一般的なHTTPクライアントは、このレスポンスによって[レスポンス設定/ファイル名]で指定した名前のファイルをダウンロードする動作を行います。

フィールド名 フィールド値
Content-Type <メディアタイプ>; name=<ファイル名>;charset=<エンコーディング>
Content-Type: text/csv; name=test.csv;charset=Shift_JIS
Content-Disposition attachment; fileName=<ファイル名> Content-Disposition: attachment; filename=test.csv

ログ出力について

トリガー実行のURLにリクエストを受信した際、トリガーが有効状態であればリクエストを送信したクライアント、または最後のプロキシサーバのIPアドレスをサーバログに出力します。
ログへの出力は、サーバログのログレベルを「FINFO」以下に設定している場合に行います。

仕様制限

主な例外

特にありません。

注意事項