Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
A ingestão do SharePoint suporta o uso em workspaces com a opção Configurar configurações aprimoradas de segurança e conformidade ativada.
Você pode ingerir arquivos estruturados, semi-estruturados e não estruturados de Microsoft SharePoint em tabelas Delta. APIs SQL e Spark suportam a ingestão incremental de arquivos SharePoint usando APIs em lote e streaming, incluindo Auto Loader spark.read e COPY INTO, todas com governança do Unity Catalog.
Escolha como ingerir do SharePoint
O Lakeflow Connect oferece duas formas de ingerir do SharePoint. Ambos acessam dados em SharePoint, mas diferem em seu nível de gerenciamento.
| Option | Descrição |
|---|---|
| Conector de SharePoint gerenciado | Um conector totalmente gerenciado para aplicações empresariais que ingere dados em tabelas Delta e as mantém sincronizadas com a fonte. |
| APIs SQL e Spark | Crie pipelines de ingestão personalizados com SQL, PySpark, ou pipelines do Lakeflow usando APIs de lote e de streaming, como read_files, spark.read, COPY INTO e o Carregador Automático. Oferece a flexibilidade de executar transformações complexas durante o processo de ingestão, enquanto atribui a você maior responsabilidade por gerenciar e manter de seus pipelines. |
Dica
O Databricks recomenda o conector de SharePoint gerenciado para a maioria dos casos de uso. Ele fornece uma experiência totalmente gerenciada com ingestão incremental automática, suporte a formato amplo e seleção flexível de arquivo e pasta.
Características principais
As APIs SQL e Spark oferecem:
- Ingestão de arquivos estruturados, semiestruturados e não estruturados
- Ingestão granular: ingerir um site específico, um sub-site, uma biblioteca de documentos, uma pasta ou um único arquivo
- Ingestão de Páginas de Site do SharePoint (
.aspx) no Databricks Runtime 19 e versões posteriores. Veja Importar Páginas de Site do SharePoint. - Ingestão de lote e streaming usando
spark.read, Carregador Automático eCOPY INTO - Inferência e evolução de esquema automático para formatos estruturados e semiestruturados, como CSV e Excel
- Armazenamento seguro de credenciais com uma conexão do Unity Catalog
- Seleção de arquivo com correspondência de padrões usando
pathGlobFilter
Requirements
Para ingerir arquivos de SharePoint, você deve ter o seguinte:
- Um espaço de trabalho com o Catálogo do Unity habilitado.
- Privilégios
CREATE CONNECTIONpara criar uma conexão do SharePoint ou os privilégios adequados para usar uma conexão existente com base no modo de acesso do cluster:- Modo de Acesso Dedicado:
MANAGE CONNECTION. - Modo de Acesso Padrão:
USE CONNECTION.
- Modo de Acesso Dedicado:
- Computação que utiliza Databricks Runtime versão 17.3 LTS ou superior.
- Autenticação OAuth configurada com o escopo de permissão
Sites.Read.AllouSites.Selected.
Criar a conexão
Crie uma conexão do Catálogo do Unity para armazenar suas credenciais de SharePoint. O processo de configuração de conexão é o mesmo, seja usando APIs SQL e Spark ou o conector SharePoint gerenciado.
Para obter instruções completas de configuração de conexão, incluindo opções de autenticação OAuth, consulte Visão geral da configuração de ingestão do SharePoint.
Ler arquivos do SharePoint
Para ler arquivos, passe a conexão que você criou usando a opção databricks.connection e uma URL que aponta para o recurso SharePoint que você deseja acessar. A URL fornecida determina o escopo da ingestão.
Os seguintes tipos de caminho são suportados no Databricks Runtime 17.3 LTS e superiores:
| Tipo de caminho | Descrição |
|---|---|
| Site | Copie a URL do site da barra de endereços.https://mytenant.sharepoint.com/sites/test-site |
| Subsite | Copie a URL do subsite da barra de endereços.https://mytenant.sharepoint.com/sites/test-site/test-subsite |
| Biblioteca de documentos | Abra a biblioteca do conteúdo do site e copie a URL da barra de endereços .https://mytenant.sharepoint.com/sites/test-site/Shared%20Documentshttps://mytenant.sharepoint.com/sites/test-site/custom-drive |
| Pasta | Abra a pasta do conteúdo do site e copie a URL da barra de endereços . Como alternativa, abra o painel Details da pasta no SharePoint e clique no ícone de cópia ao lado de Path.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites...https://mytenant.sharepoint.com/sites/test-site/custom-drive/test-folder |
| File | Selecione o arquivo, clique no menu de mais opções (...) e selecione Visualizar. Copie a URL da barra de endereços. Como alternativa, abra o painel Details do arquivo no SharePoint e clique no ícone de cópia ao lado de Path.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents/Forms/AllItems.aspx?viewid=1a2b3c...https://mytenant.sharepoint.com/sites/test-site/custom-drive/test-folder/test.csv |
O Databricks Runtime 18 LTS e superiores adiciona suporte para os seguintes tipos de caminho:
| Tipo de caminho | Descrição |
|---|---|
| Subsite aninhado | Copie a URL do subsite da barra de endereços.https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite |
| Compartilhar link | Selecione o arquivo ou pasta, clique no menu de opções (...) e selecione Copiar link. O Databricks recomenda definir o link de compartilhamento para nunca expirar.https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I |
| Microsoft 365 para a Web (antigo Office) | Abra o arquivo em Microsoft 365 da Web e copie a URL da barra de endereços.https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B... |
O Databricks Runtime 19 e superiores adiciona suporte para os seguintes tipos de caminho:
| Tipo de caminho | Descrição |
|---|---|
| Inquilino | Copie a URL raiz do tenant da barra de endereços. Para realizar a ingestão em todo o tenant, você deve usar uma conexão OAuth de máquina para máquina (M2M). O endpoint do Microsoft Graph /sites/delta requer um token de aplicação.https://mytenant.sharepoint.com |
| Páginas do Site | Ingerir a biblioteca Site Pages (.aspx) de um site, armazenada fora de suas bibliotecas de documentos. Veja Importar Páginas de Site do SharePoint.https://mytenant.sharepoint.com/sites/test-site/SitePages |
Exemplos
Existem algumas maneiras de ler arquivos do SharePoint usando APIs SQL e Spark.
Arquivos Stream SharePoint usando o Carregador Automático
O Carregador Automático fornece a maneira mais eficiente de ingerir arquivos estruturados de forma incremental de SharePoint. Ele detecta automaticamente novos arquivos e os processa conforme eles chegam. Ele também pode ingerir arquivos estruturados e semiestruturados, como CSV e JSON, com inferência e evolução automáticas de esquema. Para obter detalhes sobre o uso do Carregador Automático, consulte padrões comuns de carregamento de dados.
# Incrementally ingest new PDF files
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("cloudFiles.schemaLocation", "<path-to-schema-location>")
.option("pathGlobFilter", "*.pdf")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
)
# Incrementally ingest CSV files with automatic schema inference and evolution
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("cloudFiles.schemaLocation", "<path-to-schema-location>")
.option("pathGlobFilter", "*.csv")
.option("cloudFiles.inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
Lendo arquivos do SharePoint usando a leitura em lote do Spark
O exemplo a seguir mostra como ingerir arquivos SharePoint em Python usando a função spark.read. Defina a opção recursiveFileLookup como true para ler arquivos em estruturas aninhadas, como bibliotecas de documentos em um site, pastas em uma biblioteca de documentos ou subsites de um site.
# Read unstructured data as binary files
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("recursiveFileLookup", True)
.option("pathGlobFilter", "*.pdf") # optional. Example: only ingest PDFs
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents"))
# Read a batch of CSV files, infer the schema, and load the data into a DataFrame
df = (spark.read
.format("csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.csv")
.option("recursiveFileLookup", True)
.option("inferSchema", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs"))
# Read a specific Excel file from SharePoint, infer the schema, and load the data into a DataFrame
df = (spark.read
.format("excel")
.option("databricks.connection", "my_sharepoint_conn")
.option("headerRows", 1) # optional
.option("dataAddress", "Sheet1!A1:M20") # optional
.load("https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx"))
Ler arquivos SharePoint usando o Spark SQL
O exemplo a seguir mostra como ingerir arquivos SharePoint no SQL usando a função read_files com valor de tabela. Para obter detalhes sobre o uso de read_files, consulte read_files função valorada em tabelas.
-- Read pdf files
CREATE TABLE my_table AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.pdf", -- optional. Example: only ingest PDFs
schemaEvolutionMode => "none"
);
-- Read a specific Excel sheet and range
CREATE TABLE my_sheet_table AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx",
`databricks.connection` => "my_sharepoint_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "Sheet1!A2:D10", -- optional
schemaEvolutionMode => "none"
);
Ingestão incremental com COPY INTO
COPY INTO fornece carregamento incremental de arquivos idempotente em uma tabela Delta. Para obter detalhes sobre o uso de COPY INTO, consulte os padrões comuns de uso de COPY INTO para carregamento de dados.
CREATE TABLE IF NOT EXISTS sharepoint_pdf_table;
CREATE TABLE IF NOT EXISTS sharepoint_csv_table;
CREATE TABLE IF NOT EXISTS sharepoint_excel_table;
# Incrementally ingest new PDF files
COPY INTO sharepoint_pdf_table
FROM "https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents"
FILEFORMAT = BINARYFILE
PATTERN = '*.pdf'
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn')
COPY_OPTIONS ('mergeSchema' = 'true');
# Incrementally ingest CSV files with automatic schema inference and evolution
COPY INTO sharepoint_csv_table
FROM "https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs"
FILEFORMAT = CSV
PATTERN = '*.csv'
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn', 'header' = 'true', 'inferSchema' = 'true')
COPY_OPTIONS ('mergeSchema' = 'true');
# Ingest a single Excel file
COPY INTO sharepoint_excel_table
FROM "https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx"
FILEFORMAT = EXCEL
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn', 'headerRows' = '1')
COPY_OPTIONS ('mergeSchema' = 'true');
Importar arquivos do SharePoint em pipelines do Lakeflow
Observação
Ingerir arquivos SharePoint com APIs SQL e Spark requer Databricks Runtime 17.3 ou superior.
Os exemplos a seguir mostram como ler arquivos do SharePoint usando o Auto Loader em pipelines do Lakeflow.
Python
from pyspark import pipelines as dp
# Incrementally ingest new PDF files
@dp.table
def sharepoint_pdf_table():
return (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.pdf")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
)
# Incrementally ingest CSV files with automatic schema inference and evolution
@dp.table
def sharepoint_csv_table():
return (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.csv")
.option("cloudFiles.inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
# Read a specific Excel file from SharePoint in a materialized view
@dp.table
def sharepoint_excel_table():
return (spark.read.format("excel")
.option("databricks.connection", "my_sharepoint_conn")
.option("headerRows", 1) # optional
.option("inferColumnTypes", True) # optional
.option("dataAddress", "Sheet1!A1:M20") # optional
.load("https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx")
)
SQL
-- Incrementally ingest new PDF files
CREATE OR REFRESH STREAMING TABLE sharepoint_pdf_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
format => "binaryFile",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.pdf");
-- Incrementally ingest CSV files with automatic schema inference and evolution
CREATE OR REFRESH STREAMING TABLE sharepoint_csv_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs",
format => "csv",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.csv",
header => "true");
-- Read a specific Excel file from SharePoint in a materialized view
CREATE OR REFRESH MATERIALIZED VIEW sharepoint_excel_table
AS SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx",
`databricks.connection` => "my_sharepoint_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "Sheet1!A2:D10", -- optional
`cloudFiles.schemaEvolutionMode` => "none"
);
Analisar arquivos não estruturados
Ao ingerir arquivos não estruturados do SharePoint (como PDFs, documentos Word ou arquivos PowerPoint) usando APIs SQL e Spark com o formato binaryFile, o conteúdo do arquivo é armazenado como dados binários brutos. Para preparar esses arquivos para cargas de trabalho de IA, como geração aumentada por recuperação (RAG), busca, classificação ou compreensão de documentos, você pode fazer o parse do conteúdo binário para gerar uma saída estruturada e consultável usando ai_parse_document.
O exemplo a seguir mostra como analisar documentos não estruturados armazenados em uma tabela Delta de bronze chamada documents, adicionando uma nova coluna com conteúdo analisado:
CREATE TABLE documents AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.{pdf,docx}",
schemaEvolutionMode => "none"
);
SELECT *, ai_parse_document(content, map('version', '2.0')) AS parsed_content
FROM documents;
A parsed_content coluna contém texto extraído, tabelas, informações de layout e metadados que podem ser usados diretamente para pipelines de IA downstream.
Análise incremental nos pipelines do Lakeflow
Você também pode usar ai_parse_document nos pipelines do Lakeflow para ativar a análise incremental. À medida que novos arquivos chegam do SharePoint, eles são analisados automaticamente à medida que o pipeline atualiza.
Por exemplo, você pode definir uma tabela de streaming bronze que ingere os arquivos binários brutos, depois uma segunda tabela de streaming que coloca o conteúdo analisado em uma nova coluna:
CREATE OR REFRESH STREAMING TABLE sharepoint_documents_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
format => "binaryFile",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.{pdf,docx}");
CREATE OR REFRESH STREAMING TABLE documents_parsed
AS SELECT
*,
ai_parse_document(content, map('version', '2.0')) AS parsed_content
FROM STREAM sharepoint_documents_table;
Essa abordagem garante que:
- Arquivos SharePoint recém-ingeridos são analisados automaticamente sempre que o pipeline é atualizado.
- As saídas analisadas permanecem sincronizadas com os dados recebidos.
- Os pipelines de IA downstream sempre operam em representações de documentos atualizadas.
Consulte a função ai_parse_document para conferir os formatos compatíveis e as opções avançadas, incluindo a opção version que fixa o esquema de saída.
SharePoint coluna de metadados
A coluna _sharepoint_metadata é uma coluna de metadados oculta que fornece acesso a propriedades específicas SharePoint de arquivos ingeridos, provenientes do recurso driveItem Microsoft Graph. Ele exige o Databricks Runtime 18 LTS ou superior e está disponível para todos os formatos de arquivo ao ler a partir do SharePoint. Para incluir a _sharepoint_metadata coluna no DataFrame retornado, você deve selecioná-la explicitamente na consulta de leitura.
Se a fonte de dados contiver uma coluna chamada _sharepoint_metadata, a coluna de metadados SharePoint será renomeada para __sharepoint_metadata (com um sublinhado adicional à esquerda) para eliminação de duplicação. Sublinhados adicionais são adicionados até que o nome seja exclusivo.
Metadados de arquivo comuns, como o caminho ou o tamanho do arquivo, podem ser consultados usando a _metadata coluna. Confira Coluna de metadados de arquivo.
Esquema
A _sharepoint_metadata coluna é um STRUCT que contém os campos a seguir. Todos os campos são anuláveis.
| Nome | Tipo | Descrição | Exemplo |
|---|---|---|---|
| item_id | STRING |
A ID driveItem do item. | 01OMQ3MNLH42C5J675CBEI5CRK7SPKQUTZ |
| site_id | STRING |
A ID do site SharePoint que contém o item. | mytenant.sharepoint.com,69dc7b12-f92c-498d-9514-596b793a1f77,c6c1db8d-2b8d-48a1-a549-394b63d74725 |
| drive_id | STRING |
A ID da unidade contendo o item. | b!EnvcaSz5jUmVFFlreTofd43bwcaNK6FIpUk5S2PXRyWTvQraaWQkSpwQEgThHDS- |
| drive_type | STRING |
O tipo de unidade, por exemplo, documentLibrary para bibliotecas de SharePoint ou business para OneDrive for Business. |
documentLibrary |
| parent_id | STRING |
A ID do driveItem da pasta pai. | 01OMQ3MNN6Y2GOVW7725BZO354PWSELRRZ |
| parent_name | STRING |
O nome da pasta pai. | Shared Documents |
| parent_path | STRING |
O caminho relativo à unidade da pasta pai. | /drives/b!EnvcaSz5.../root: |
| web_url | STRING |
A URL do navegador do item no SharePoint. | https://mytenant.sharepoint.com/sites/TestSite/_layouts/15/Doc.aspx?sourcedoc=... |
| tipo_de_mime | STRING |
O tipo MIME do item. | application/vnd.ms-excel |
| created_by_email | STRING |
O email do usuário que criou o item. | alice@example.onmicrosoft.com |
| created_by_name | STRING |
O nome de exibição do usuário que criou o item. | Alice Example |
| created_timestamp | TIMESTAMP |
A hora em que o item foi criado. | 2025-12-03 13:33:12 |
| last_modified_by_email | STRING |
O email do usuário que modificou o item pela última vez. | alice@example.onmicrosoft.com |
| last_modified_by_name | STRING |
O nome de exibição do usuário que modificou o item pela última vez. | Alice Example |
| etag | STRING |
ETag do item. Alterações quando o item ou qualquer um de seus metadados é alterado. | "{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1" |
| ctag | STRING |
Marca de alteração do item. Muda somente quando o conteúdo do item é alterado. | "c:{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1" |
| description | STRING |
A descrição do item, se definida. | Q4 financial report |
| metadados_adicionais | VARIANT |
Qualquer outro campo driveItem retornado pelo Microsoft Graph, mas não extraído acima. | {"shared":{"scope":"users"},...} |
Observação
O additional_metadata campo é retornado como VARIANT. Confira o tipo VARIANT.
Exemplos
Os exemplos a seguir mostram como incluir a _sharepoint_metadata coluna em uma consulta de leitura, selecionar campos específicos da coluna e extrair valores do additional_metadataVARIANT campo.
Python
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
.select("*", "_metadata", "_sharepoint_metadata"))
SQL
SELECT *, _sharepoint_metadata
FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
Selecione campos específicos da _sharepoint_metadata struct.
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
.select("_sharepoint_metadata.item_id", "_sharepoint_metadata.etag"))
Extraia valores do campo additional_metadataVARIANT usando o operador de tipo ::.
SELECT
*,
_sharepoint_metadata.additional_metadata:shared:scope::STRING AS shared_scope
FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
Ingir páginas do site SharePoint
O SharePoint armazena as Páginas do Site como .aspx arquivos na biblioteca de Páginas do Site, separadas de suas bibliotecas de documentos. A ingestão de páginas do site requer o Databricks Runtime 19 ou posterior. Para mais informações sobre as Páginas do Site, veja Páginas do SharePoint e o modelo de página.
Você pode ingerir as Páginas do Site das seguintes formas:
| Tipo de caminho | Descrição |
|---|---|
| Página única | Abra a página no SharePoint e copie a URL da barra de endereços.https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx |
| Biblioteca de Páginas do Site | Abra Páginas do Site em Conteúdo do site e copie a URL na barra de endereços.https://mytenant.sharepoint.com/sites/test-site/SitePages |
| Site ou subsite | Quando você ingere um site ou subsite, o Azure Databricks ingere a biblioteca Site Pages junto com as bibliotecas de documentos do site.https://mytenant.sharepoint.com/sites/test-site |
Ingire as Páginas do Site como qualquer outro arquivo:
Python
# Read a single Site Page
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx"))
# Read a site's Site Pages library
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.aspx") # optional. Example: only ingest Site Page files
.load("https://mytenant.sharepoint.com/sites/test-site/SitePages"))
# Read all Site Pages from a site
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("recursiveFileLookup", True)
.option("pathGlobFilter", "*.aspx") # optional. Example: only ingest Site Page files
.load("https://mytenant.sharepoint.com/sites/test-site"))
SQL
-- Read a single Site Page
CREATE TABLE site_page AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
-- Read a site's Site Pages library
CREATE TABLE site_pages AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site/SitePages",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.aspx" -- optional. Example: only ingest Site Page files
);
-- Read all Site Pages from a site
CREATE TABLE site_with_pages AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
recursiveFileLookup => true,
pathGlobFilter => "*.aspx" -- optional. Example: only ingest Site Page files
);
O Auto Loader, COPY INTO, e outras interfaces funcionam com as Páginas do Site da mesma forma que qualquer outro arquivo. Veja Exemplos para exemplos de ingestão.
Limitações
As APIs SQL e Spark apresentam as seguintes limitações.
- As seguintes implantações nacionais de nuvem do Microsoft 365 não são suportadas:
- GCC High (Nuvem da Comunidade Governamental Alta):
.sharepoint.us - Departamento de Defesa (DoD):
.sharepoint-mil.us - Microsoft 365 operado pela 21Vianet na China:
.sharepoint.cn
- GCC High (Nuvem da Comunidade Governamental Alta):
- Você não pode importar vários sites com a mesma consulta. Para ingerir de dois sites, você deve escrever duas consultas separadas.
- Você pode usar a opção
pathGlobFilterpara filtrar arquivos por nome. Não há suporte para filtragem baseada em caminho de pasta. - Listas SharePoint não são suportadas.
- Não há suporte para gravar novamente em um servidor SharePoint.
- Não há suporte para o Carregador
cleanSourceAutomático (excluindo ou arquivando arquivos na origem após a ingestão).
Próximas etapas
- Saiba mais sobre o Carregador Automático para padrões avançados de ingestão de streaming
- Explore COPY INTO para cargas incrementais idempotentes
- Comparar com padrões de ingestão de armazenamento de objetos na nuvem
- Configure o agendamento de trabalho para automatizar fluxos de trabalho de ingestão
- Usar pipelines do Lakeflow para criar pipelines de dados de ponta a ponta com transformações