Aller au contenu principal

Dépanner l'ingestion Microsoft SharePoint

Cette page décrit les problèmes courants avec le connecteur Microsoft SharePoint dans Databricks Lakeflow Connect et comment les résoudre.

Dépannage général des pipelines

Si un pipeline échoue lors de l’exécution, cliquez sur l’étape qui a échoué et confirmez si le message d’erreur contient suffisamment d’informations sur la nature de l’erreur.

Afficher les journaux des événements du pipeline dans l'UI

Consultez et download les Logs des clusters à partir de la page des détails du pipeline en cliquant sur Mettre à jour les détails dans le volet de droite, puis sur Logs . Analysez les Logs pour les erreurs ou les exceptions.

Consultez les détails de la mise à jour du pipeline dans l'interface utilisateur.

Restreindre l'accès aux fichiers SharePoint

Pour restreindre les fichiers SharePoint auxquels le connecteur peut accéder, créez un utilisateur Microsoft Entra ID dédié avec des autorisations SharePoint restreintes et authentifiez-vous auprès de SharePoint avec ce compte. Étant donné que le connecteur utilise l'accès délégué (OAuth U2M), il agit au nom d'un utilisateur Microsoft Entra ID et ne peut accéder qu'aux fichiers que l'utilisateur est autorisé à consulter.

Erreurs d'authentification

Si vous rencontrez des erreurs OAuth, exécutez le code suivant pour confirmer que votre jeton de refresh fonctionne comme prévu :

Python
# 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 = ["Sites.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()