Ingerir dados do SharePoint
Beta
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.
:::nota conformidade
O conector administrativo do SharePoint suporta o uso no espaço de trabalho com a opção "Configurar configurações aprimoradas de segurança e compliance ativada.
:::
Esta página mostra como criar um pipeline de ingestão gerenciado Microsoft SharePoint usando LakeFlow Connect.
Antes de começar
-
Para criar o pipeline de ingestão, você deve primeiro atender aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute sem servidor deve estar habilitado para o seu workspace. Consulte os requisitos do compute sem servidor.
-
Se você planeja criar uma nova conexão: Você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte a seção sobre privilégios de gerenciamento no Unity Catalog.Se o conector oferecer suporte à criação pipeline baseada em interface de usuário, um administrador poderá criar a conexão e o pipeline ao mesmo tempo, concluindo os passos nesta página. No entanto, se os usuários que criam o pipeline usarem a criação pipeline baseada em API ou não forem usuários administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Veja Conectar às fontes de ingestão de gerenciar.
-
Se você planeja usar uma conexão existente: você deve ter privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do SharePoint, é necessário primeiro configurar um método de autenticação compatível. Consulte Configurar OAuth U2M: gerenciado pela Databricks (Recomendado).
Crie um pipeline de ingestão.
Para obter uma lista dos formatos de arquivo compatíveis e das limitações específicas do conector, consulte limitações do conector do Microsoft SharePoint.
- Databricks UI
- Databricks notebook
- Declarative Automation Bundles
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- Na página **Adicionar dados**, na seção **Conectores do Databricks**, clique em **Microsoft SharePoint**.
- No passo **Connection** do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso do SharePoint. Se você tiver o privilégio
CREATE CONNECTIONno metastore, você pode clicar emCriar conexão para criar uma nova conexão com os detalhes de autenticação em Visão geral da configuração de ingestão do SharePoint.
- Clique em Avançar .
- Na etapa de configuração de ingestão , insira um nome para o pipeline.
- Selecione um catálogo e um esquema para o pipeline. Se houver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, pode-se clicar emCriar esquema no menu suspenso para criar um novo esquema.
- Clique em Criar pipeline de ingestão e começar o compute .
- No passo Origem , configure as opções de URL do SharePoint e de ingestão de arquivos.
- Clique em Salvar e continuar .
- No **passo Destino**, selecione um catálogo e um esquema para carregar dados. Se houver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, pode-se clicar emCriar esquema no menu suspenso para criar um novo esquema.
- Clique em Salvar e continuar .
- (Opcional) Na etapa Agendamentos e notificações , clique em
Criar agendamento . Defina a frequência para fazer o refresh das tabelas de destino.
- (Opcional) Clique em
Adicionar notificação para configurar notificações por email para sucesso ou falha da operação do pipeline e, em seguida, clique em Salvar e executar pipeline .
- Importe o seguinte notebook em seu workspace do Databricks:
-
Não modificar a célula um.
-
Modificar a célula três com os detalhes da configuração do pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Clique em Executar tudo .
Use Pacotes de Automação Declarativa para gerenciar pipelines do SharePoint como código. Os pacotes podem conter definições YAML de Jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e executados em diferentes workspaces de destino (como desenvolvimento, preparo e produção). Para obter mais informações, consulte O que são Pacotes de Automação Declarativa?.
-
Crie um pacote utilizando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/sharepoint_pipeline.yml). Veja pipeline.definição_de_ingestão e Exemplos. - Um arquivo de definição de Job que controla a frequência da ingestão de dados (por exemplo,
resources/sharepoint_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
Exemplos
Use estes exemplos para configurar seu pipeline.
Ingerir arquivos binários (não estruturados)
Ingerir todos os arquivos em um site do SharePoint como conteúdo binário. Use esta abordagem para PDFs, documentos do Office e outros arquivos que você pretende processar posteriormente, por exemplo, para aplicativos RAG.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
sharepoint_binary_pipeline:
name: sharepoint_binary_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <sharepoint-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: site_files
connector_options:
sharepoint_options:
entity_type: FILE
url: https://<tenant>.sharepoint.com/sites/<site>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<sharepoint-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "site_files",
"connector_options": {
"sharepoint_options": {
"entity_type": "FILE",
"url": "https://<tenant>.sharepoint.com/sites/<site>",
"file_ingestion_options": {
"format": "BINARYFILE",
"schema_evolution_mode": "NONE"
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Ingerir arquivos estruturados
Ingerir arquivos estruturados (por exemplo, arquivos JSON) de uma pasta do SharePoint. Cada linha nos arquivos de origem passa a ser uma linha na tabela de destino.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
sharepoint_json_pipeline:
name: sharepoint_json_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <sharepoint-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: json_files
connector_options:
sharepoint_options:
entity_type: FILE
url: https://<tenant>.sharepoint.com/sites/<site>/<json_folder>
file_ingestion_options:
format: JSON
schema_evolution_mode: NONE
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<sharepoint-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "json_files",
"connector_options": {
"sharepoint_options": {
"entity_type": "FILE",
"url": "https://<tenant>.sharepoint.com/sites/<site>/<json_folder>",
"file_ingestion_options": {
"format": "JSON",
"schema_evolution_mode": "NONE"
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Ingerir somente metadados de arquivo
Ingerir metadados de arquivo (nome, tamanho, carimbos de data e hora, caminho) sem baixar o conteúdo do arquivo. Utilize esta abordagem quando houver necessidade de um inventário de arquivos sem a sobrecarga de ingerir o conteúdo deles.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
sharepoint_metadata_pipeline:
name: sharepoint_metadata_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <sharepoint-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: file_metadata
connector_options:
sharepoint_options:
entity_type: FILE_METADATA
url: https://<tenant>.sharepoint.com/sites/<site>/<library>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<sharepoint-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "file_metadata",
"connector_options": {
"sharepoint_options": {
"entity_type": "FILE_METADATA",
"url": "https://<tenant>.sharepoint.com/sites/<site>/<library>",
"file_ingestion_options": {
"format": "BINARYFILE",
"schema_evolution_mode": "NONE"
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Arquivo de definição de Job de Pacotes de Automação Declarativa
O seguinte é um exemplo de arquivo de definição de job para uso com Pacotes de Automação Declarativa. O job é executado todos os dias, exatamente um dia após a última execução.
- Declarative Automation Bundles
resources:
jobs:
sharepoint_job:
name: sharepoint_job
trigger:
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.sharepoint_binary_pipeline.id}
Configurar opções de ingestão de arquivos
O bloco file_ingestion_options controla como os arquivos são processados. Todas as opções são definidas dentro do sharepoint_options.file_ingestion_options bloco na definição do pipeline.
Filtros de arquivo
Use file_filters para restringir quais arquivos são ingeridos do URL de origem:
"file_ingestion_options": {
"format": "CSV",
"file_filters": [
{ "path_filter": "invoices/*.csv" },
{ "modified_after": "2026-01-01T00:00:00" }
]
}
Para referência completa do parâmetro file_ingestion_options, consulte a referência do conector do Microsoft SharePoint.
evolução do esquema
Defina schema_evolution_mode para controlar como novas colunas em arquivos de entrada são tratadas. Os modos correspondem aos modos de evolução do esquema do Auto Loader. Para obter detalhes, consulte referência do conector do Microsoft SharePoint.
Dicas de esquema
Substituir tipos de coluna inferidos usando schema_hints:
"file_ingestion_options": {
"format": "CSV",
"schema_hints": "order_id INT, amount DOUBLE, ts TIMESTAMP"
}
Consulte Substituir a inferência de esquema com dicas de esquema para obter detalhes de uso.
Opções específicas de formato
Especifique as opções específicas de formato usando format_options:
"file_ingestion_options": {
"format": "CSV",
"format_options": {
"header": "true",
"sep": ","
}
}
As chaves compatíveis são as opções de formato padrão do Auto Loader. Consulte Opções de formato.
Padrões comuns
Para configurações avançadas pipeline , consulte Padrões comuns para gerenciar pipeline de ingestão.
Próximas etapas
- começar, programar e definir alerta em seu pipeline. Consulte Tarefa comum de manutenção pipeline.
- Você pode analisar os documentos brutos em texto, fragmentar os dados analisados, criar incorporações a partir dos blocos e muito mais. Em seguida, o senhor pode usar
readStreamna tabela de saída diretamente no pipeline downstream. Veja o caso de uso do Downstream RAG.