ServiceNowの取り込みのトラブルシューティング
プレビュー
ServiceNow コネクタは パブリック プレビュー段階です。
このページでは、 Databricks LakeFlow Connect の ServiceNow コネクタに関する一般的な問題とその解決方法について説明します。
一般的なパイプラインのトラブルシューティング
実行中にパイプラインが失敗した場合は、失敗したステップをクリックし、エラー メッセージにエラーの性質に関する十分な情報が含まれているかどうかを確認します。
また、右側のパネルで [Update details] をクリックし、[Logs] をクリックして、パイプラインの詳細ページからクラスタリング ログを確認してダウンロードすることもできます。 ログをスキャンしてエラーまたは例外を探します。
特定のテーブルのインジェストが遅い
最初のステップとして、ServiceNow 管理者と協力して、カーソル列のインデックス作成を有効にします。カーソル列は、sys_updated_on (最初の選択肢)、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用の個人用ユーザー名とパスワードではありません。これらは、外部サービスでの認証とインジェストを目的としたユーザーに関連付けられたユーザー名とパスワードの値です。
- Catalog Explorer
- curl
-
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 :
認証するユーザーが アクティブ としてマークされていることを確認します。
-
ソース-製品名で、 組織>ユーザー をクリックします。
-
認証に使用する予定のユーザーを選択します。
-
「アクティブ 」チェックボックスが選択されていることを確認します。
ステップ4 :
ServiceNow の OAuth 2.0 プラグインがアクティブであることを確認します。
-
ソース-製品名で、「 システム定義」>「プラグイン 」をクリックします。
-
[スクリプト - バックグラウンド ] セクションで次のスクリプトを実行します。
var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
gs.info('OAuth Active: ' + oauthActive);スクリプトが
true
を返す場合、プラグインのインストールは成功しています。このスクリプトがfalse
を返す場合は、アンインストールしてから再インストールします。
ステップ5 :
OAuth エンドポイントが正しく設定されていることを確認します。
-
ServiceNow で、 System OAuth > Application Registry にアクセスします。
-
右上隅の [ NEW ] をクリックします。
-
OAuth アプリケーションオプションで、「 外部クライアント用の OAuth API エンドポイントを作成する 」をクリックします。
-
「アクティブ 」チェックボックスが選択されていることを確認します。
OAuth アプリケーションが正常に作成されると、 そのアプリケーションは [System OAuth (システム OAuth )] > [Application Registry (アプリケーション レジストリ)] のリストに [OAuth クライアント ] タイプで表示されます。
ステップ6 :
これらのトラブルシューティング手順を実行しても問題が解決しない場合は、 サポート チケットを提出してください。