次の方法で共有


ServiceNow インジェストのトラブルシューティング

重要

ServiceNow コネクタは パブリック プレビュー段階です

このページでは、Databricks Lakeflow Connect の ServiceNow コネクタに関する一般的な問題とその解決方法について説明します。

パイプラインの一般的なトラブルシューティング

実行中にパイプラインが失敗した場合は、失敗したステップをクリックし、エラー メッセージがエラーの性質に関する十分な情報を提供するかどうかを確認します。

UI でパイプライン イベント ログを表示する

右側のパネルで [詳細の更新] をクリックし、[ログ] をクリックして、パイプラインの詳細ページからクラスター ログを確認してダウンロードすることもできます。 ログをスキャンしてエラーまたは例外を探します。

UI でパイプライン更新プログラムの詳細を表示する

特定のテーブルの取り込みが遅い

最初の手順として、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 用の個人ユーザー名とパスワードである必要はありません。 これらは、外部サービスでの認証と取り込みを目的としたユーザーに関連付けられているユーザー名とパスワードの値です。

カタログ エクスプローラー

  1. Azure Databricks ワークスペースのサイドバーで、[データ] アイコンをクリックします。カタログ

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、メニューから [接続] を選択します。

    または、[クイック アクセス] ページで、[外部データ] > ボタンをクリックし、[接続] タブに移動します。

  3. 接続の名前をクリックします。

    接続の詳細は、[概要] タブに一覧表示されます。

カール

次の 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:

認証ユーザーが [アクティブ] としてマークされていることを確認します。

  1. ServiceNow で、[組織] > [ユーザー] をクリックします。

  2. 認証に使用する予定のユーザーを選択します。

  3. [アクティブ] チェック ボックスが選択されていることを確認します。

    ServiceNow アクティブ ユーザー

手順 4:

ServiceNow の OAuth 2.0 プラグインがアクティブであることを確認します。

  1. ServiceNow で、[システム定義] > [プラグイン] をクリックします。

  2. [スクリプト - バックグラウンド] セクションで、次のスクリプトを実行します。

    var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
    gs.info('OAuth Active: ' + oauthActive);
    

    このスクリプトで true が返される場合、プラグインのインストールは成功しました。 このスクリプトで false が返される場合、プラグインをアンインストールしてから再インストールします。

    ServiceNow OAuth 2.0 プラグイン

手順 5:

OAuth エンドポイントが正しく構成されていることを確認します。

  1. ServiceNow で、[システム OAuth] > [アプリケーションレジストリ] を選択します。

  2. 右上隅にある [新規] をクリックします。

  3. OAuth アプリケーション オプションで、[外部クライアント用の OAuth API エンドポイントを作成する] をクリックします。

    ServiceNow により、外部クライアント用の OAuth API エンドポイントが作成されます。

  4. [アクティブ] チェック ボックスが選択されていることを確認します。

    ServiceNow の新しい OAuth アプリケーション

    OAuth アプリケーションが正常に作成されたら、[システム OAuth] > [アプリケーション レジストリ] の一覧に種類 [OAuth クライアント] として表示されます。

手順 6:

これらのトラブルシューティングの手順に従った後も問題が解決しない場合は、サポート チケットを提出してください。