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 を有効にするには、次の操作を行います。
- Google Cloud コンソールで、[Application Integration] ページに移動します。
- ナビゲーション メニューで、[リージョン] をクリックします。[Regions] ページに、プロジェクトでプロビジョニングされたすべてのリージョンが一覧表示されます。
- [Provision new region] をクリックします。
- [詳細設定] を開きます。
- [AI 機能] で [AI 機能を有効にする] をクリックします。
既存のリージョンで AI を有効にする
Application Integration の既存のリージョンで AI を有効にするには、次の操作を行います。
- Google Cloud コンソールで、[Application Integration] ページに移動します。
- ナビゲーション メニューで、[リージョン] をクリックします。[Regions] ページに、プロジェクトでプロビジョニングされたすべてのリージョンが一覧表示されます。
- 編集する既存のリージョンについて、[アクション] 列で [リージョン アクション] をクリックし、[編集] を選択します。
[Edit region] ペインが表示されます。
- [詳細設定] セクションを開きます。
- [AI 機能] で [AI 機能を有効にする] をクリックします。
AI を使用して実行の失敗をトラブルシューティングする
Gemini AI を使用して実行ログの失敗をトラブルシューティングする手順は次のとおりです。
- Google Cloud コンソールで、[Application Integration] ページに移動します。
- ナビゲーション メニューで、[ログ] をクリックします。
[実行ログ] ページが表示され、デフォルト リージョンのインテグレーション用に生成された実行ログが一覧表示されます。
- [実行ログ] ページで、エラーの [失敗] ステータスを示すエントリを見つけます。
- 失敗したログエントリの横にある chat_spark アイコンをクリックします。
- または、特定の行を展開して [このログエントリの説明を確認する] をクリックします。
[エラーの概要] ページが開き、Gemini によって生成されたエラーの概要が表示されます。このページには次のセクションがあります。
- エラー メッセージ: 技術的なエラーの説明を表示し、コード内のエラー発生箇所を示します。
- 根本原因: エラーが発生した理由を説明します。
- 詳細な分析: (このセクションを開く) エラーの影響、関連する特定のコード領域、修正方法など、エラーに関する詳細情報を提供します。
- エラーを修正する手順: 特定された根本原因に固有の修復手順を提供します。
- エラーの概要を確認して問題を理解したら、[閉じる] をクリックして [実行ログ] ページに戻ります。
AI の推奨事項を使用して問題を解決する
エラーの概要を確認したら、次の手順に沿って問題を解決します。
- 推奨事項に従う: エラーの概要ページのエラーを修正する手順セクションに記載されている推奨手順を実装し、統合ロジックまたはコネクタ構成に必要な変更をすべて行います。
- テストして再公開する: 変更が完了したら、更新された統合をテストして再公開し、問題が完全に解決されたことを確認します。
エラーの概要の例
次の例は、実行に失敗した 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 接続の [認証] セクションに移動します。
- アクセス トークンとシークレット バージョンを確認します。
- アクセス トークンとシークレット バージョンに有効な値を指定します。
- 統合をテストして再公開し、変更を適用します。