重要
ServiceNow コネクタは パブリック プレビュー段階です。
このページでは、Databricks Lakeflow Connect の ServiceNow コネクタに関する一般的な問題とその解決方法について説明します。
パイプラインの一般的なトラブルシューティング
実行中にパイプラインが失敗した場合は、失敗したステップをクリックし、エラー メッセージがエラーの性質に関する十分な情報を提供するかどうかを確認します。
右側のパネルで [詳細の更新] をクリックし、[ログ] をクリックして、パイプラインの詳細ページからクラスター ログを確認してダウンロードすることもできます。 ログをスキャンしてエラーまたは例外を探します。
特定のテーブルの取り込みが遅い
最初の手順として、ServiceNow 管理者と協力して、カーソル列のインデックス作成を有効にします。 カーソル列は、優先順に、sys_updated_on (第 1 選択)、sys_created_on (第 2 選択)、sys_archived (第 3 選択) の順に選択されます。 次に、インジェスト パイプラインを再試行します。 問題が解決しない場合は、チケットを提出してください。 ServiceNow でインデックス作成を有効にする手順については、ServiceNow のドキュメントを参照してください。
認証エラー
エラー:
com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SERVICENOW_CONNECTION_ERROR.OAUTH_TOKEN_EXCHANGE] Failed to authenticate to ServiceNow. This can be caused by issues with your UC credentials, ServiceNow OAuth setup, and more...
手順 1:
Unity Catalog 接続の作成時に、正しいユーザー名、パスワード、クライアント ID、クライアント シークレットを指定したことを確認します。 ServiceNow に対する認証用のユーザー名とパスワードは、必ずしも SSO 用の個人ユーザー名とパスワードである必要はありません。 これらは、外部サービスでの認証と取り込みを目的としたユーザーに関連付けられているユーザー名とパスワードの値です。
カタログ エクスプローラー
Azure Databricks ワークスペースのサイドバーで、[
をクリックします。カタログ。
[カタログ] ウィンドウの上部にある
をクリックします。歯車アイコンをクリックし、メニューから [接続] を選択します。
または、[クイック アクセス] ページで、[外部データ] > ボタンをクリックし、[接続] タブに移動します。
接続の名前をクリックします。
接続の詳細は、[概要] タブに一覧表示されます。
カール
次の curl 要求を実行します。 角かっこ内の項目を接続プロパティに置き換えます。
curl -X POST "https://<instance-id>.service-now.com/oauth_token.do" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=password" \
--data-urlencode "client_id=<client-id>" \
--data-urlencode "client_secret=<client-secret>" \
--data-urlencode "username=<username>" \
--data-urlencode "password=<password>"
要求が成功した場合、資格情報は正確です。
手順 2:
認証ユーザーが admin
役割を持っていることを確認します。 また、Databricks では、認証ユーザーがアクセス許可をさらに制限するための snc_read_only
役割を持つことも推奨されます。
手順 3:
認証ユーザーが [アクティブ] としてマークされていることを確認します。
ServiceNow で、[組織] > [ユーザー] をクリックします。
認証に使用する予定のユーザーを選択します。
[アクティブ] チェック ボックスが選択されていることを確認します。
手順 4:
ServiceNow の OAuth 2.0 プラグインがアクティブであることを確認します。
ServiceNow で、[システム定義] > [プラグイン] をクリックします。
[スクリプト - バックグラウンド] セクションで、次のスクリプトを実行します。
var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active'); gs.info('OAuth Active: ' + oauthActive);
このスクリプトで
true
が返される場合、プラグインのインストールは成功しました。 このスクリプトでfalse
が返される場合、プラグインをアンインストールしてから再インストールします。
手順 5:
OAuth エンドポイントが正しく構成されていることを確認します。
ServiceNow で、[システム OAuth] > [アプリケーションレジストリ] を選択します。
右上隅にある [新規] をクリックします。
OAuth アプリケーション オプションで、[外部クライアント用の OAuth API エンドポイントを作成する] をクリックします。
[アクティブ] チェック ボックスが選択されていることを確認します。
OAuth アプリケーションが正常に作成されたら、[システム OAuth] > [アプリケーション レジストリ] の一覧に種類 [OAuth クライアント] として表示されます。
手順 6:
これらのトラブルシューティングの手順に従った後も問題が解決しない場合は、サポート チケットを提出してください。