使用 AI 排解執行記錄失敗問題

Application Integration 提供 AI 輔助的疑難排解功能,可協助您解決執行失敗的問題。這項功能會使用 Google Gemini 分析執行記錄、判斷根本原因,並生成可做為行動依據的建議。您可以在 Application Integration 的「執行記錄」頁面存取這項功能。

主要優點

使用 Gemini AI 輔助的疑難排解功能,你可以:

  • 清楚瞭解複雜的錯誤訊息。AI 會將技術記錄轉換為清楚實用的洞察資訊。
  • 取得專為您量身打造的精確解決步驟,解決獨特的整合邏輯和遇到的特定錯誤。
  • 找出根本原因和修正步驟,縮短偵錯時間。

事前準備

如要使用 Gemini AI 疑難排解功能,請務必先完成下列事項:

  • 為部署整合功能的特定 Google Cloud 區域啟用 AI 功能。如要進一步瞭解如何為新區域或現有區域啟用 AI 功能,請參閱「啟用 AI 功能以進行疑難排解」。

啟用 AI 疑難排解功能

如要使用 Gemini AI 解決執行失敗的問題,請為部署整合的特定 Google Cloud 區域啟用 AI 功能。

為新區域啟用 AI 功能

如要在 Application Integration 的新區域啟用 AI,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」(應用程式整合) 頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「區域」。「區域」頁面隨即顯示,列出專案中佈建的所有區域。
  3. 按一下「佈建新區域」
  4. 展開「進階設定」
  5. 按一下「AI 功能」下方的「啟用 AI 功能」切換鈕

在現有區域啟用 AI

如要為應用程式整合的現有區域啟用 AI 功能,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」(應用程式整合) 頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「區域」。系統會顯示「區域」頁面,列出專案中佈建的所有區域。
  3. 如要編輯現有區域,請在「動作」欄中,按一下「區域動作」,然後選取「編輯」

    「編輯區域」窗格隨即顯示。

  4. 展開「進階設定」部分。
  5. 按一下「AI 功能」下方的「啟用 AI 功能」切換鈕

使用 AI 解決執行作業失敗的問題

如要使用 Gemini AI 排解執行記錄失敗的問題,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」(應用程式整合) 頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「記錄」

    系統會顯示「執行記錄」頁面,列出預設區域中整合作業產生的執行記錄。

  3. 在「執行記錄」頁面中,找出顯示錯誤「失敗」狀態的項目。
  4. 按一下失敗記錄項目旁的 chat_spark 圖示。
    • 或者,展開特定資料列,然後點選「說明這個記錄項目」

    系統會開啟「錯誤摘要」頁面,顯示 Gemini 生成的錯誤摘要,包括下列章節:

    • 錯誤訊息:顯示技術錯誤說明,並指出程式碼中發生錯誤的位置。
    • 根本原因:說明發生錯誤的原因。
    • 詳細分析(展開這個部分) 提供錯誤影響、涉及的特定程式碼區域,以及修正方式等詳細資訊。
    • 修正錯誤的步驟:根據已識別的根本原因提供具體補救操作說明。
  5. 查看錯誤摘要並瞭解問題後,請按一下「關閉」返回「執行記錄」頁面。

根據 AI 建議解決問題

查看錯誤摘要後,請完成下列步驟來解決問題:

  1. 按照建議操作:按照「錯誤摘要」頁面「修正錯誤的步驟」部分中的建議,實作相關步驟,並對整合邏輯或連接器設定進行所有必要變更。
  2. 測試並重新發布:完成修改後,請測試並重新發布更新後的整合項目,確認問題已完全解決。

錯誤摘要範例

以下範例說明 AI 生成的執行失敗錯誤摘要:

  • 錯誤訊息:
    RUNTIME ERROR: Index 0 out of bounds, not within [0, 0)
    template:16:2-59 function
    template:17:40-78 function
    :259:50-62 function
    :259:55-61 thunk from>
    template:20:39-40 thunk from>
    :1613:20-21 thunk from>
    :32:25-26 thunk from>
    :32:16-27 function
    :1613:8-22 function
  • 根本原因:錯誤 Index 0 out of bounds, not within [0, 0) 表示您嘗試存取空陣列的第一個元素 (索引 0)。這個問題發生在程式碼的第 16 行,具體來說,是發生在指令碼的下列部分:
    • getMergedObject(orderId) 函式:如果無法在 ordersSalesforce 中找到相符的訂單,這個函式會傳回空陣列 []
    • local orders = std.map(...); 行:當程式碼嘗試存取 getMergedObject(orderId) 傳回結果的第一個元素時,會發生 index 0 out of bounds 錯誤,因為結果是空陣列 []
  • 詳細分析:
    • getMergedObject(orderId) 函式:這個函式會在 ordersSalesforce 陣列中尋找相符的順序。如果找不到相符項目,系統會傳回空陣列 []。如果 ordersSalesforce 陣列中沒有 orderId,就會發生這種情況。
    • local orders = std.map (...); 行:這行會使用 std.map 函式處理資料。不過,系統會直接嘗試存取 getMergedObject(orderId) 傳回的陣列第一個元素,而不會檢查陣列是否為空。如果陣列為空白,就會導致 index 0 out of bounds 錯誤。
      修正錯誤的步驟:
      • 前往 Salesforce 連線中的「驗證」部分。
      • 驗證存取權杖和密鑰版本。
      • 提供有效的存取權杖和密鑰版本值。
      • 測試並重新發布整合,即可套用變更。