ServiceNow コネクタに関する FAQ
このページでは、 Databricks Lakeflowコネクトの ServiceNow コネクタに関してよく寄せられる質問に回答します。
一般的なマネージド コネクタに関する FAQ
Managed Connector の FAQ の回答は、Lakeflowコネクトのすべてのマネージド コネクタに適用されます。ServiceNow 固有の FAQ については、引き続きお読みください。
コネクタ固有の FAQ
このセクションの回答は、ServiceNow コネクタに固有のものです。
コネクタは ServiceNow からデータをどのようにプルしますか?
ServiceNow コネクタは ServiceNow Table API v2 を使用します。
Table API を使用すると、ServiceNow インスタンスに影響を与える可能性がありますか?
はい。ただし、影響は取り込まれるデータの量によって異なります。たとえば、通常、増分読み取り中よりも初期スナップショットでより顕著になります。
コネクタはどのようにデータを増分的にプルしますか?
テーブルを段階的に取り込むには、テーブルに以下のいずれかの列が含まれている必要があります。これらの列がいずれも存在しない場合、コネクタはソーステーブルのスナップショットを作成し、宛先テーブルを上書きします。
sys_updated_onsys_created_onsys_archived
ServiceNow の取り込みパフォーマンスが遅いのはなぜですか?
Databricks では、ServiceNow 管理者と協力して、カーソル フィールドで ServiceNow 側のインデックス作成を有効にすることをお勧めします。カーソル列は、 sys_updated_on (最初の選択肢)、 sys_created_on (2 番目の選択肢)、 sys_archived (3 番目の選択肢) のリストから、可用性と好みの順に選択されます。これは、ServiceNow APIを使用して取り込む際のパフォーマンスを向上させるための標準的なアプローチです。 インデックスを設定すると、Databricks は、大規模な更新のボトルネックとなる可能性のある sys_updated_on 列全体を完全にスキャンすることを回避できます。手順については、ServiceNow ドキュメントの「 テーブル インデックスの作成 」を参照してください。
Databricks では、 REST テーブル API 要求のタイムアウトを60 秒以上に増やすことも推奨しています。これにより、トランザクション制限の超過を回避でき、クエリのタイムアウトを回避できます。問題が解決しない場合は、サポート チケットを作成してください。
コネクタには管理者権限が必要ですか?
いいえ。コネクタは次のオプションをサポートしています。
- 管理者ロール(推奨):
adminロールを使用し、必要に応じてsnc_read_onlyロールを使用してください。この方法では、テーブルごとに1回のAPI呼び出しで完全なテーブルスキーマが返されます。 - 最小権限ロール:テーブルレベルのACLを使用します。このアプローチでは、スキーマ検出のためにより多くのAPI呼び出しが必要になります。権限制限がAPI使用量の最小化よりも重要な場合にのみ選択してください。
必要な権限の完全なリストについては、ソースセットアップを参照してください。
最小権限アクセスではなぜ API の使用が増える必要があるのでしょうか?
管理者ロールを使用すると、ServiceNowは継承されたフィールドを含む完全なテーブルスキーマを単一のAPI呼び出しで返すことができます。
管理者権限がない場合、コネクタはスキーマを検出するために複数のAPI呼び出しを行う必要があります。ServiceNowのテーブルは継承を使用するため、コネクタは次のことを行う必要があります。
- テーブルの親テーブルを見つけます。
- 階層構造のルートに到達するまで、各親テーブルに対してこの手順を繰り返します。
- チェーン内のすべてのテーブルのフィールド定義を取得します。
API呼び出しの数は、テーブルの継承階層の深さに比例して増加します。例えば、テーブルが3階層構造になっている場合、コネクタは親テーブルを解決するために少なくとも3回のAPI呼び出しが必要となり、さらにフィールド定義を取得するための呼び出しも必要になります。これは、管理者権限を持つ場合の1回の呼び出しと比較した場合の回数です。最小権限アクセスによるスキーマ検出は、初期設定時だけでなく、パイプラインの実行ごとに行われます。