Application Integration でサポートされているコネクタをご覧ください。

JavaScript タスク

JavaScript タスクでは、統合用のカスタム JavaScript コード スニペットを作成できます。

JavaScript エディタを使用すると、統合の複雑なデータ マッピングのロジックをコーディングし、変数の割り当てを行い、統合変数の追加や変更を行えます。

JavaScript エディタは、以下の機能をサポートしています。

  • スクリプト コードの概要を表示し、簡単なナビゲーションに役立つミニマップ。
  • コードを読みやすくし、構造の認識を容易にする構文 / コードのハイライト表示、インデント、行番号付け。
  • コードの間違いを検出して追跡するためのエラーのハイライト表示。
  • スクリプト コードの領域の折りたたみと展開。
  • クリックしてコピーするオプション。スクリプト コードをクリップボードにコピーします。

JavaScript タスクを構成する

統合に JavaScript タスクを追加する手順は次のとおりです。

  1. Google Cloud コンソールで [Application Integration] ページに移動します。

    Application Integration に移動

  2. ナビゲーション メニューで [統合] をクリックします。

    [統合] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。

  3. 既存の統合を選択するか、[統合の作成] をクリックして新しい統合を作成します。

    新しい統合を作成する場合:

    1. [統合の作成] ペインで名前と説明を入力します。
    2. 統合のリージョンを選択します。
    3. 統合用のサービス アカウントを選択します。統合のサービス アカウントの詳細は、統合ツールバーの [統合の概要] ペインでいつでも変更または更新できます。
    4. [作成] をクリックします。

    統合エディタで統合が開きます。

  4. 統合エディタのナビゲーション バーで、[タスク] をクリックして、使用可能なタスクとコネクタのリストを表示します。
  5. 統合エディタで [JavaScript] 要素をクリックして配置します。
  6. デザイナーで [JavaScript] 要素をクリックして、[JavaScript] タスク構成ペインを表示します。
  7. [Open script editor] をクリックし、[JavaScript Editor] を表示して編集します。 [Gemini でスクリプト] をクリックして、Gemini を使用して JavaScript コードを生成することもできます。Gemini を使用して JavaScript コードを生成する方法については、Gemini の支援を使用して JavaScript タスクを構成するをご覧ください。
  8. [JavaScript Editor] で自動的に作成される executesScript(event) 関数内に JavaScript コードを記述します。完了後エディタを閉じると、すべての変更が自動保存されます。

    統合変数とサポートされる関数へのアクセスについては、JavaScript エディタの使用をご覧ください。

    生成された実行ログの表示については、実行ログをご覧ください。

次の図では、[JavaScript Editor] のサンプル レイアウトを示します。 JavaScript エディタを示す画像 JavaScript エディタを示す画像

JavaScript エディタを使用する

[JavaScript Editor] を表示および編集するには、[JavaScript] タスク構成ペインに移動し、[Open script editor] をクリックします。[JavaScript Editor] には、デフォルトで executesScript(event) という名前の関数が含まれています。

  • executesScript() は、統合の実行中に Application Integration が JavaScript タスクを実行したときに呼び出される関数です。
  • event は、Application Integration のメモリ内オブジェクトです。

    イベント オブジェクトのサポートされているメソッドについては、統合変数にアクセスするをご覧ください。

JavaScript 実行エンジン

以前、Application Integration では、JavaScript タスクの実行用の JavaScript 実行エンジンとして Rhino をサポートしていました。Google のオープンソースの高性能 JavaScript エンジンのパフォーマンスとセキュリティのメリットを活用するため、Rhino は非推奨となり、すべての JavaScript 実行で Google のオープンソースの高性能 JavaScript エンジンであ�� V8 が使用されるようになります。

V8 のメリット

V8 JavaScript エンジンには次のような利点があります。

  • パフォーマンス: V8 は Rhino よりも大幅に高速であるため、JavaScript タスクの実行速度が向上します。サイズの大きな変数や複雑な計算を含むスクリプトを高速に実行できます。
  • 標準準拠: V8 は ECMAScript 2024 をサポートしており、互換性とメンテナンス性を向上させています。
  • セキュリティ: V8 は、継続的なセキュリティ アップデートと改善により、より安全なインテグレーション環境を提供します。
  • 最新の機能: V8 は最新の JavaScript 機能をサポートしているため、最新の言語コンストラクトとライブラリを利用できます。

既存の JavaScript タスクを V8 に移行する

Rhino で実行されている既存の JavaScript タスクを V8 に移行するには、次の操作を行います。

  1. JavaScript タスクを含む公開済みの統合を特定し、公開を停止します。
  2. JavaScript について、タスク構成ペインで [Open script editor] をクリックします。

    Application Integration は、V8 を使用するように既存のスクリプトを自動的に更新します。

  3. JavaScript コードを確認してテストします。
  4. 統合を公開します。

統合変数にアクセスする

統合で定義された変数には、Application Integration のメモリ内イベント オブジェクトを使用して JavaScript エディタからアクセスできます。

JavaScript エディタから統合変数にアクセスするには、次のメソッドがサポートされています。

関数名 説明 用途

getEventExecutionInfoId

インテグレーションの実行 ID を返します。

戻り値の型: 文字列

構文: event.getEventExecutionInfoId()

例:

function executeScript(event) {
  event.getEventExecutionInfoId();
  }
      

getGoogleCloudProjectId

Google Cloud プロジェクト ID を返します。

戻り値の型: 文字列

構文: event.getGoogleCloudProjectId()

例:

function executeScript(event) {
  event.getGcpProjectId();
  }

getIntegrationName

統合の現在の名前を返します。

戻り値の型: 文字列

構文: event.getIntegrationName

例:

function executeScript(event) {
  event.getIntegrationName();
  }

getParameter

指定された統合変数の値を返します。

戻り値の型: 統合変数のデータ型

構文: event.getParameter("variable_name")

入力パラメータ: 統合変数名。variable_name が自動生成された変数の場合は、変数をバッククォート(``)で囲みます。例: `responseBody`

例:

function executeScript(event) { 
  event.getParameter("var1");
  }

getRegion

統合リージョンの名前を返します。

戻り値の型: 文字列

構文: event.getRegion()

例:

function executeScript(event) {
  event.getRegion();
  }

log

指定した値を実行ログに書き込みます。

生成された実行ログの表示については、実行ログをご覧ください。

構文: event.log(value)

入力パラメータ: スクリプトで使用される変数または関数。

例 1:

function executeScript(event) {
  event.log(event.getParameter("var1"));
  }

例 2:

function executeScript(event) {
  event.log("Lorem ipsum");
  }

setParameter

統合変数の値を設定または更新します。

構文: event.setParameter("variable_name", "variable_value")

入力パラメータ: この関数は次の引数を取ります。

  • 最初の引数: 変数名。variable_name が自動生成された変数の場合は、変数をバッククォート(``)で囲みます。例: `responseBody`
  • 2 番目の引数: 値。

例:

function executeScript(event) {
  event.setParameter("`responseBody`", "NewStringValue");
  }

タスク パラメータを設定する

統合に JavaScript タスクで使用されていないサイズの大きいパラメータが複数ある場合は、JavaScript タスクの TaskParameter フィールドを設定することでパフォーマンスを改善できます。

JavaScript タスクの TaskParameter フィールドを設定するには、次のいずれかのオプションを選択します。

Console

  1. [Application Integration] ページに移動します。

    [Application Integration] に移動

  2. 統合を選択します。統合エディタが開きます。
  3. [アクション] > [統合バージョンのダウンロード] > [統合バージョン] をクリックします。統合バージョンが JSON ファイルとしてダウンロードされます。
  4. エディタで統合バージョン ファイルを開き、次の操作を行います。
    1. タスクが JavaScriptTask である taskConfigs フィールドを探します。parameters フィールドで、script という名前のパラメータを探します。
      "taskConfigs": [{
        "task": "JavaScriptTask",
        "taskId": 1,
        "parameters": {
          "script": {
            "key": "script",
            "value": {
              "stringValue": "function that is called during the JavaScriptTask execution"
            }
        }"
      }]
      
    2. この parameters フィールドでは、次のテンプレートを使用して、JavaScriptTask フィールドで使用されるパラメータを追加します。
      "ParamName": {
        "key": "ParamName",
        "value": {
          "stringValue": "$ParamName$"
        }
      }
      
  5. 統合バージョン ファイルに加えた変更を保存します。
  6. 統合に統合バージョン ファイルをアップロードします。

API

  1. 統合バージョンをダウンロードするには、filFormatJSON に設定して projects.locations.integrations.versions.download メソッドを呼び出します。
  2. エディタで統合バージョン ファイルを開き、次の操作を行います。
    1. タスクが JavaScriptTask である taskConfigs フィールドを探します。parameters フィールドで、script という名前のパラメータを探します。
      "taskConfigs": [{
        "task": "JavaScriptTask",
        "taskId": 1,
        "parameters": {
          "script": {
            "key": "script",
            "value": {
              "stringValue": "function that is called during the JavaScriptTask execution"
            }
        }"
      }]
      
    2. この parameters フィールドでは、次のテンプレートを使用して、JavaScriptTask フィールドで使用されるパラメータを追加します。
      "ParamName": {
        "key": "ParamName",
        "value": {
          "stringValue": "$ParamName$"
        }
      }
      
  3. 統合バージョンをアップロードするには、更新された統合バージョン ファイルを使用して projects.locations.integrations.versions.upload メソッドを呼び出します。

エラー処理方法

タスクのエラー処理方法では、一時的なエラーによってタスクが失敗した場合のアクションを指定します。エラー処理方式と、さまざまな種類のエラー処理方式の詳細については、エラー処理方法をご覧ください。

割り当てと上限

割り当てと上限については、割り当てと上限をご覧ください。

次のステップ