トラブルシューティング¶
このトピックでは、 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>" }
データベースオブジェクト¶
Snowflake Native SDK for Connectors には、コネクタの実際の状態をチェックするのに役立つビューとプロシージャがいくつか用意されています。
ビュー:
PUBLIC.CONNECTOR_CONFIGURATION
(接続構成リファレンス を参照)PUBLIC.SYNC_STATUS
(ステータスリファレンスの同期 を参照)PUBLIC.CONNECTOR_STATS
(コネクタ統計リファレンス を参照)PUBLIC.AGGREGATED_CONNECTOR_STATS
(コネクタ統計リファレンス を参照)
プロシージャ:
PUBLIC.GET_CONNECTOR_STATUS()
(コア SQL リファレンス を参照)PUBLIC.GET_CONNECTION_CONFIGURATION()
(接続構成リファレンス を参照)
イベントテーブル¶
デフォルトでは、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];
考えられるエラーコード:
CONFIGURE_CONNECTOR_FAILED
- コネクタの構成ウィザードステップが失敗したときに発生しますSET_CONNECTION_CONFIGURATION_FAILED
- 接続構成ウィザードのステップが失敗したときに発生しますFINALIZE_CONNECTOR_CONFIGURATION_FAILED
- コネクタ構成ウィザードの確定ステップが失敗したときに発生しますPAUSE_CONNECTOR_FAILED
- コネクタの一時停止プロセスが失敗した場合に発生しますRESUME_CONNECTOR_FAILED
- コネクタの再開プロセスが失敗した場合に発生します