トラブルシューティング

このトピックでは、 Snowflake Native SDK for Connectors の問題をトラブルシューティングするためのガイドラインを提供します。特定のエラーの原因を突き止める場合は、トラブルシューティングのプロセスを容易にする適切なツールが必要です。そのため、 Snowflake Native SDK for Connectors では、コネクタを効果的にトラブルシューティングするためのプロシージャ、ビュー、その他の方法をいくつか紹介しています。

プロシージャの応答

通常、コネクタに問題が発生した場合、またはコネクタの状態が原因でユーザーが特定のプロシージャを正常に実行できない場合でも、トラブルシューティングデータの最初のソースはプロシージャの応答になります。 Snowflake Native SDK for Connectors では、プロシージャからのエラー応答は標準化されています。応答は、常に存在する2つのフィールドを持つ VARIANT として返されます。

  • response_code - エラー応答の場合、このフィールドの値はエラーコードになります。例: INVALID_CONNECTOR_STATUS

  • message - このフィールドの値は、発生したエラーに関する詳細情報を提供するメッセージです

エラー応答の構造:

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

データベースオブジェクト

Snowflake Native SDK for Connectors には、コネクタの実際の状態をチェックするのに役立つビューとプロシージャがいくつか用意されています。

ビュー:

プロシージャ:

イベントテーブル

デフォルトでは、Javaで実装された SDK によって提供されるプロシージャは、特定のプロシージャの実行中にスローされた例外をラップするために ConnectorErrorHelper を使用します。スローされた例外をラップし、エラーコードを使用して ConnectorResponse にマッピングする以外に、顧客のアカウントでイベントテーブルが設定されている場合は、 ConnectorErrorHelper のデフォルトの実装では、スローされた例外に基づいてイベントがイベントテーブルに記録されます。イベントテーブルの使い方について詳しく知りたい場合は、 Snowflakeの公式ドキュメント をご参照ください。

アプリケーションインスタンス名のみを知っていれば、 Snowflake Native SDK for Connectors によって生成されたログをイベントテーブルから除外することが可能です。さらに、コネクタの最も一般的な部分で発生したエラーのログをフィルタリングすることもできます。

クエリ例:

SELECT * FROM PLATFORM_CI_TOOLS.PUBLIC.EVENTS
    WHERE RESOURCE_ATTRIBUTES:"snow.database.name" LIKE '<INSTANCE_NAME>'
    [AND SCOPE:"name" LIKE '<ERROR_CODE>']
    [ORDER BY timestamp DESC];
Copy

考えられるエラーコード:

  • CONFIGURE_CONNECTOR_FAILED - コネクタの構成ウィザードステップが失敗したときに発生します

  • SET_CONNECTION_CONFIGURATION_FAILED - 接続構成ウィザードのステップが失敗したときに発生します

  • FINALIZE_CONNECTOR_CONFIGURATION_FAILED - コネクタ構成ウィザードの確定ステップが失敗したときに発生します

  • PAUSE_CONNECTOR_FAILED - コネクタの一時停止プロセスが失敗した場合に発生します

  • RESUME_CONNECTOR_FAILED - コネクタの再開プロセスが失敗した場合に発生します