JavaScript 工作

您可以使用 JavaScript 工作,為整合服務編寫自訂 JavaScript 程式碼片段。

您可以使用 JavaScript 編輯器,為整合作業編寫複雜的資料對應邏輯、執行變數指派,以及新增或修改整合變數。

JavaScript 編輯器支援下列功能:

  • 小導覽圖:顯示指令碼程式碼的概略總覽,並協助快速導覽。
  • 語法/程式碼醒目顯示、縮排和行號,方便閱讀程式碼及辨識結構。
  • 醒目顯示錯誤,以便在程式碼中找出並追蹤錯誤。
  • 摺疊功能可展開及收合指令碼程式碼區域。
  • 按一下即可複製指令碼代碼到剪貼簿。

設定 JavaScript 工作

如要將 JavaScript 工作新增至整合,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「整合」

    系統會顯示「整合」頁面,列出 Google Cloud 專案中可用的所有整合項目。

  3. 選取現有整合,或按一下「建立整合」建立新整合。

    如要建立新的整合項目:

    1. 在「建立整合」窗格中輸入名稱和說明。
    2. 選取整合作業的區域。
    3. 選取整合的服務帳戶。如要變更或更新整合的服務帳戶詳細資料,請隨時前往整合工具列的「整合摘要」窗格。
    4. 點按「Create」(建立)。新建立的整合服務會在整合服務編輯器中開啟。

  4. 整合編輯器的導覽列中,按一下「Tasks」(工作),即可查看可用工作和連結器的清單。
  5. 在整合服務編輯器中,點按並放置 JavaScript 元素。
  6. 按一下設計工具中的「JavaScript」元素,即可查看「JavaScript」任務設定窗格。
  7. 按一下「開啟指令碼編輯器」,即可查看及編輯 JavaScript 編輯器。您也可以點選「使用 Gemini 編寫指令碼」,讓 Gemini 生成 JavaScript 程式碼。如要瞭解如何使用 Gemini 生成 JavaScript 程式碼,請參閱「透過 Gemini 輔助設定 JavaScript 工作」。
  8. JavaScript 編輯器中自動建立的 executesScript(event) 函式內,編寫 JavaScript 程式碼。完成後關閉編輯器,系統會自動儲存所有變更。

    如要瞭解如何存取整合變數和支援的函式,請參閱「 使用 JavaScript 編輯器」。

    如要瞭解如何查看產生的執行記錄,請參閱「執行記錄」。

下圖顯示 JavaScript 編輯器的範例版面配置: 顯示 JavaScript 編輯器的圖片 顯示 JavaScript 編輯器的圖片

使用 JavaScript 編輯器

如要查看及編輯 JavaScript 編輯器,請前往「JavaScript」工作設定窗格,然後按一下「開啟指令碼編輯器」JavaScript 編輯器預設包含名為 executesScript(event) 的函式,其中:

  • executesScript():當應用程式整合在執行期間執行 JavaScript 工作時,系統會呼叫這個函式。
  • event:應用程式整合的記憶體內物件

    如要瞭解 event 物件支援的方法,請參閱「 存取整合變數」。

JavaScript 執行引擎

Application Integration 先前支援 Rhino 做為執行 JavaScript 工作的 JavaScript 執行引擎。為充分發揮 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. 發布整合項目。

存取整合作業變數

您可以使用應用程式整合 記憶體內 event 物件,從 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`
  • 第二個引數:值。

範例:

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

設定工作參數

如果整合服務有多個大型參數,但 JavaScript 工作並未使用這些參數,您可以為 JavaScript 工作設定 TaskParameter 欄位,以提升效能。

如要為 JavaScript 工作設定 TaskParameter 欄位,請選取下列其中一個選項:

控制台

  1. 前往「Application Integration」(應用程式整合) 頁面。

    前往「Application Integration」

  2. 選取整合服務。系統會開啟整合編輯器。
  3. 依序點選 「動作」「下載整合」「整合版本」。整合版本會下載為 JSON 檔案。
  4. 在編輯器中開啟整合版本檔案,然後執行下列操作:
    1. 找出工作為 JavaScriptTasktaskConfigs 欄位。在 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. 如要下載整合功能版本,請呼叫 projects.locations.integrations.versions.download 方法,並將 filFormat 設為 JSON
  2. 在編輯器中開啟整合版本檔案,然後執行下列操作:
    1. 找出工作為 JavaScriptTasktaskConfigs 欄位。在 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 方法。

錯誤處理策略

工作錯誤處理策略會指定工作因暫時性錯誤而失敗時,系統應採取的動作。如要瞭解如何使用錯誤處理策略,以及不同類型的錯誤處理策略,請參閱「錯誤處理策略」。

配額與限制

如要瞭解配額和限制,請參閱「配額與限制」。

後續步驟