JavaScript タスクでは、統合用のカスタム JavaScript コード スニペットを作成できます。
JavaScript エディタを使用すると、統合の複雑なデータ マッピングのロジックをコーディングし、変数の割り当てを行い、統合変数の追加や変更を行えます。
JavaScript エディタは、以下の機能をサポートしています。
- スクリプト コードの概要を表示し、簡単なナビゲーションに役立つミニマップ。
- コードを読みやすくし、構造の認識を容易にする構文 / コードのハイライト表示、インデント、行番号付け。
- コードの間違いを検出して追跡するためのエラーのハイライト表示。
- スクリプト コードの領域の折りたたみと展開。
- クリックしてコピーするオプション。スクリプト コードをクリップボードにコピーします。
JavaScript タスクを構成する
統合に JavaScript タスクを追加する手順は次のとおりです。
- Apigee UI で、Apigee 組織を選択します。
- [Develop] > [Integrations] の順にクリックします。
- 既存のインテグレーションを選択するか、[Create Integration] をクリックして新しいインテグレーションを作成します。
新しいインテグレーションを作成する場合:
- [Create Integration] ダイアログで名前と説明を入力します。
- サポートされているリージョンのリストから、インテグレーションのリージョンを選択します。
- [Create] をクリックします。
インテグレーション デザイナーでインテグレーションが開きます。
- インテグレーション デザイナーのナビゲーション バーで、[+ Add a task/trigger] > [Tasks] の順にクリックして、使用可能なタスクのリストを表示します。
- 統合エディタで [JavaScript] 要素をクリックして配置します。
- デザイナーで [JavaScript] 要素をクリックして、[JavaScript] タスク構成ペインを表示します。
- [Open script editor] をクリックし、[JavaScript Editor] を表示して編集します。
- [JavaScript Editor] で自動的に作成される
executesScript(event)
関数内に JavaScript コードを記述します。完了後エディタを閉じると、すべての変更が自動保存されます。統合変数とサポートされる関数へのアクセスについては、JavaScript エディタの使用をご覧ください。
生成された実行ログの表示については、実行ログをご覧ください。
次の図では、[JavaScript Editor] のサンプル レイアウトを示します。
JavaScript エディタを使用する
[JavaScript Editor] を表示および編集するには、[JavaScript] タスク構成ペインに移動し、[Open script editor] をクリックします。[JavaScript Editor] には、デフォルトで executesScript(event)
という名前の関数が含まれています。
ここで
-
executesScript()
は、統合の実行中に Apigee Integration が JavaScript タスクを実行したときに呼び出される関数です。 -
event
は、Apigee Integration のメモリ内オブジェクトです。イベント オブジェクトのサポートされているメソッドについては、統合変数にアクセスするをご覧ください。
Apigee Integration で使用する JavaScript 実行エンジンは、Rhino 1.7.14 がベースになっており、すべての ES6 構文がサポートされているわけではありません。ES5 構文の予測入力のみがサポートされています。サポートされている ES6 構文をすべて表示するには、Rhino ES2015 サポートをご覧ください。
統合変数にアクセスする
統合で定義された変数には、Apigee Integration のメモリ内イベント オブジェクトを使用して JavaScript エディタからアクセスできます。
JavaScript エディタから統合変数にアクセスするために、次のメソッドがサポートされています。
関数名 | 説明 | 使用方法 | |
---|---|---|---|
|
インテグレーションの実行 ID を返します。 戻り値の型: 文字列 |
構文: 例: function executeScript(event) { event.getEventExecutionInfoId(); } |
|
|
Google Cloud プロジェクト ID を返します。 戻り値の型: 文字列 |
構文:
例: function executeScript(event) { event.getGcpProjectId(); } |
|
|
統合の現在の名前を返します。 戻り値の型: 文字列 |
構文:
例: function executeScript(event) { event.getIntegrationName(); } |
|
|
指定された統合変数の値を返します。 戻り値の型: 統合変数のデータ型 |
構文:
入力パラメータ: 統合変数名。 例: function executeScript(event) { event.getParameter("var1"); } |
|
|
統合リージョンの名前を返します。 戻り値の型: 文字列 |
構文:
例: function executeScript(event) { event.getRegion(); } |
|
|
指定した値を実行ログに書き込みます。 生成された実行ログの表示については、実行ログをご覧ください。 |
構文:
入力パラメータ: スクリプトで使用される変数または関数。 例 1: function executeScript(event) { event.log(event.getParameter("var1")); } 例 2: function executeScript(event) { event.log("Lorem ipsum"); } |
|
|
統合変数の値を設定または更新します。 |
構文:
入力パラメータ: この関数は次の引数を取ります。
例: function executeScript(event) { event.setParameter("`responseBody`", "NewStringValue"); } |
タスク パラメータを設定する
統合に JavaScript タスクで使用されていないサイズの大きいパラメータが複数ある場合は、JavaScript タスクの TaskParameter
フィールドを設定することでパフォーマンスを改善できます。
JavaScript タスクの TaskParameter
フィールドを設定するには、次のいずれかのオプションを選択します。
コンソール
- [Application Integration] ページに移動します。
- 統合を選択します。統合エディタが開きます。
- > [統合バージョンのダウンロード] > [統合バージョン] をクリックします。統合バージョンが JSON ファイルとしてダウンロードされます。 [アクション]
-
エディタで統合バージョン ファイルを開き、次の操作を行います。
-
タスクが
JavaScriptTask
であるtaskConfigs
フィールドを探します。parameters
フィールドで、script
という名前のパラメータを探します。"taskConfigs": [{ "task": "JavaScriptTask", "taskId": 1, "parameters": { "script": { "key": "script", "value": { "stringValue": "function that is called during the JavaScriptTask execution" } }" }]
-
この
parameters
フィールドに、JavaScriptTask
フィールドで使用されるパラメータを追加します。次のテンプレートを使用します:"ParamName": { "key": "ParamName", "value": { "stringValue": "$ParamName$" } }
-
タスクが
- 統合バージョン ファイルに加えた変更を保存します。
- 統合に統合バージョン ファイルをアップロードします。
API
- 統合バージョンをダウンロードするには、
filFormat
をJSON
に設定してprojects.locations.integrations.versions.download
メソッドを呼び出します。 -
エディタで統合バージョン ファイルを開き、次の操作を行います。
-
タスクが
JavaScriptTask
であるtaskConfigs
フィールドを探します。parameters
フィールドで、script
という名前のパラメータを探します。"taskConfigs": [{ "task": "JavaScriptTask", "taskId": 1, "parameters": { "script": { "key": "script", "value": { "stringValue": "function that is called during the JavaScriptTask execution" } }" }]
-
この
parameters
フィールドに、JavaScriptTask
フィールドで使用されるパラメータを追加します。次のテンプレートを使用します:"ParamName": { "key": "ParamName", "value": { "stringValue": "$ParamName$" } }
-
タスクが
- 統合バージョンをアップロードするには、更新された統合バージョン ファイルを使用して
projects.locations.integrations.versions.upload
メソッドを呼び出します。
エラー処理方法
タスクのエラー処理方法では、一時的なエラーによってタスクが失敗した場合のアクションを指定します。エラー処理方式と、さまざまな種類のエラー処理方式の詳細については、エラー処理方法をご覧ください。