Solucionar problemas de ingestão do Microsoft SharePoint
Visualização
O conector do Microsoft SharePoint está em versão beta.
Esta página descreve problemas comuns com o conector Microsoft SharePoint em Databricks LakeFlow Connect e como resolvê-los.
Solução de problemas gerais de pipeline
Se um pipeline falhar durante a execução, clique na etapa que falhou e confirme se a mensagem de erro fornece informações suficientes sobre a natureza do erro.
O senhor também pode verificar e download o clustering logs na página de detalhes pipeline clicando em Update details (Atualizar detalhes ) no painel direito e, em seguida, em logs . Examine o site logs em busca de erros ou exceções.
Limitar o acesso aos arquivos do SharePoint
Para restringir os arquivos do SharePoint que o conector pode acessar, crie um usuário Entra ID dedicado com permissões restritas do SharePoint e autentique-se no SharePoint com esse account.
Contexto: O conector não é compatível com o acesso somente a aplicativos (M2M OAuth). Nesse modelo, o aplicativo se autentica como ele mesmo com uma entidade de serviço e um administrador concede a ele acesso a um site inteiro do SharePoint, incluindo todos os arquivos desse site. Em vez disso, o conector usa acesso delegado (U2M OAuth). Nesse modelo, o conector atua em nome de um usuário do Entra ID Microsoft e só pode acessar os arquivos que o usuário tem permissão para view.
Erros de autenticação
Se o senhor encontrar erros em OAuth, execute o código a seguir para confirmar que seus tokens refresh são 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()