Von Bedeutung
Microsoft SharePoint コネクタは ベータ版です。
このページでは、Databricks Lakeflow Connect の Microsoft SharePoint コネクタに関する一般的な問題とその解決方法について説明します。
パイプラインの一般的なトラブルシューティング
実行中にパイプラインが失敗した場合は、失敗したステップをクリックし、エラー メッセージがエラーの性質に関する十分な情報を提供するかどうかを確認します。
右側のパネルで [ 詳細の更新 ] をクリックし、[ログ] をクリックして、パイプラインの詳細ページからクラスター ログを確認してダウンロードすることもできます。 ログをスキャンしてエラーまたは例外を探します。
SharePoint ファイルへのアクセスを制限する
コネクタがアクセスできる SharePoint ファイルを制限するには、制限された SharePoint アクセス許可を持つ専用の Entra ID ユーザーを作成し、そのアカウントで SharePoint に対して認証します。
背景: コネクタはアプリ専用アクセス (M2M OAuth) をサポートしていません。 このモデルでは、アプリはサービス プリンシパルを使用してそれ自体として認証され、管理者はそのサイト内のすべてのファイルを含む SharePoint サイト全体へのアクセスを許可します。 代わりに、コネクタは委任されたアクセス (U2M OAuth) を使用します。 このモデルでは、コネクタは Microsoft Entra ID ユーザーに代わって動作し、ユーザーが表示するアクセス許可を持つファイルにのみアクセスできます。
認証エラー
OAuth エラーが発生した場合は、次のコードを実行して、更新トークンが WAI であることを確認します。
# Fill in these values
refresh_token = ""
tenant_id = ""
client_id = ""
client_secret = ""
site_id = ""
# Get an access token
import requests
# Token endpoint
token_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
scopes = ["Files.Read.All"]
scope = " ".join(["https://graph.microsoft.com/{}".format(s) for s in scopes])
scope += (" offline_access")
# Parameters for the request
token_params = {
"client_id": client_id,
"client_secret": client_secret,
"grant_type": "refresh_token",
"refresh_token": refresh_token,
"scope": scope
}
# Send a POST request to the token endpoint
response = requests.post(token_url, data=token_params)
response.json()
access_token = response.json().get("access_token")
You should get an access token here. You can then check if the access token is able to list all the drives in your SharePoint site.
# List all drives
url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives"
# Authorization header with access token
headers = {
"Authorization": f"Bearer {access_token}",
"Accept": "application/json"
}
# Send a GET request to list files with specific extensions
requests.get(url, headers=headers).json()