Ingesta de archivos de SharePoint

:::note Cumplimiento

El conector SharePoint admite el uso en áreas de trabajo con la Configuración mejorada de la configuración de seguridad y cumplimiento habilitada.

:::

Puede ingerir archivos estructurados, semiestructurados y no estructurados de Microsoft SharePoint en tablas Delta. El conector de SharePoint admite la ingesta incremental de archivos de SharePoint mediante API de streaming y por lotes, incluido Auto Loader, spark.read y COPY INTO, todo ello con la gobernanza del Unity Catalog.

Choose el conector de SharePoint

Lakeflow Connect ofrece dos conectores SharePoint. Ambos acceden a los datos en SharePoint, pero difieren en su nivel de administración.

Connector Description
Conector de SharePoint administrado Un conector totalmente administrado. Conector sencillo y de bajo mantenimiento para aplicaciones empresariales que ingieren datos en tablas Delta y los mantiene sincronizados con el origen.
Conector de SharePoint estándar Cree canalizaciones de ingesta personalizadas con SQL, PySpark o Lakeflow Pipelines mediante API de procesamiento por lotes y de streaming, como read_files, spark.read, COPY INTO y Auto Loader. Ofrece la flexibilidad de realizar transformaciones complejas durante la ingesta, a la vez que proporciona mayor responsabilidad para administrar y mantener las canalizaciones.

Tip

Databricks recomienda el conector de SharePoint administrado para la mayoría de los casos de uso. Proporciona una experiencia totalmente administrada con ingesta incremental automática, compatibilidad con formato amplio y selección flexible de archivos y carpetas.

Características clave

El conector SharePoint estándar ofrece:

  • Ingesta de archivos estructurados, semiestructurados y no estructurados
  • Ingesta granular: ingiere un sitio específico, un subsitio, una biblioteca de documentos, una carpeta o un único archivo
  • Ingesta de páginas de sitios de SharePoint (.aspx) en Databricks Runtime 19 y versiones posteriores. Consulte Ingesta de páginas de sitios de SharePoint.
  • Ingesta por lotes y en streaming mediante spark.read, Auto Loader y COPY INTO
  • Inferencia y evolución automáticas de esquemas para formatos estructurados y semiestructurados, como CSV y Excel
  • Almacenamiento seguro de credenciales con una conexión de Catálogo de Unity
  • Selección de archivos con coincidencia de patrones mediante pathGlobFilter

Requisitos

Para ingerir archivos de SharePoint, debe tener lo siguiente:

  • Un área de trabajo con Unity Catalog habilitado.
  • CREATE CONNECTION privilegios para crear una conexión de SharePoint o el privilegio adecuado para usarla si ya existe, según su modo de acceso de clúster:
    • Modo de acceso dedicado: MANAGE CONNECTION.
    • Modo de acceso estándar: USE CONNECTION.
  • Cómputo que utiliza Databricks Runtime versión 17.3 LTS o superior.
  • La autenticación de OAuth se configura con el alcance de permiso Sites.Read.All o Sites.Selected.
  • Opcional: habilite la característica beta de Excel para analizar archivos Excel. Consulte Leer y transmitir archivos Excel.

Creación de la conexión

Cree una conexión de Catálogo de Unity para almacenar las credenciales de SharePoint. El proceso de configuración de conexión se comparte entre los conectores de SharePoint estándar y administrados.

Para obtener instrucciones de configuración de conexión completas, incluidas las opciones de autenticación de OAuth, consulte Información general sobre la configuración de ingesta de SharePoint.

Leer archivos de SharePoint

Para leer archivos, pase la conexión que creó con la opción databricks.connection y una dirección URL que apunte al recurso de SharePoint al que desea acceder. La dirección URL que proporcione determina el ámbito de la ingesta.

Los siguientes tipos de ruta son compatibles con Databricks Runtime 17.3 LTS y superiores:

Tipo de ruta Description
Site Copie la dirección URL del sitio desde la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site
Subsitio Copie la dirección URL del subsitio desde la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site/test-subsite
Biblioteca de documentos Abra la biblioteca desde el contenido del sitio y copie la dirección URL de la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents
https://mytenant.sharepoint.com/sites/test-site/custom-drive
Folder Abra la carpeta del contenido del sitio y copie la dirección URL de la barra de direcciones. Como alternativa, abra el panel Details de la carpeta en SharePoint y haga clic en el icono de copia situado junto a 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
Archivo Seleccione el archivo, haga clic en el menú de desbordamiento (...) y seleccione Vista previa. Copie la dirección URL de la barra de direcciones. Como alternativa, abra el panel Details del archivo en SharePoint y haga clic en el icono de copia situado junto a 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

Databricks Runtime 18 LTS y superiores añade soporte para los siguientes tipos de rutas:

Tipo de ruta Description
Subsitio anidado Copie la dirección URL del subsitio desde la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite
Compartir enlace Seleccione el archivo o la carpeta, haga clic en el menú de desbordamiento (...) y seleccione Copiar vínculo. Databricks recomienda establecer el enlace compartido para que nunca expire.
https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I
Microsoft 365 para la web (anteriormente Office) Abra el archivo en Microsoft 365 para la web y copie la dirección URL de la barra de direcciones.
https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B...

Databricks Runtime 19 y superiores añade soporte para los siguientes tipos de rutas:

Tipo de ruta Description
Inquilino Copie la dirección URL raíz del inquilino desde la barra de direcciones.
https://mytenant.sharepoint.com
Páginas del sitio Ingira la biblioteca de Páginas del Sitio (.aspx) de un sitio, almacenada fuera de sus bibliotecas de documentos. Consulte Ingesta de páginas de sitios de SharePoint.
https://mytenant.sharepoint.com/sites/test-site/SitePages

Examples

Hay varias maneras de leer archivos mediante el conector estándar SharePoint.

Transmitir archivos de SharePoint mediante el Cargador Automático

Auto Loader proporciona la manera más eficaz de ingerir archivos estructurados de forma incremental desde SharePoint. Detecta automáticamente nuevos archivos y los procesa a medida que llegan. También puede ingerir archivos estructurados y semiestructurados, como CSV y JSON, con inferencia y evolución automáticas de esquemas. Para más información sobre el uso del cargador automático, consulte Patrones comunes de carga de datos.

# 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")
)

Leer archivos de SharePoint mediante la lectura por lotes de Spark

En el ejemplo siguiente se muestra cómo ingerir archivos SharePoint en Python mediante la función spark.read. Establece la opción recursiveFileLookup en true para leer archivos de estructuras anidadas, como bibliotecas de documentos en un sitio, carpetas en una biblioteca de documentos o subsitios en un sitio.

# 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"))

Leer archivos de SharePoint mediante Spark SQL

En el ejemplo siguiente se muestra cómo ingerir archivos SharePoint en SQL mediante la función con valores de tabla read_files. Para obtener más información sobre el read_files uso, consulte read_files función con valores de tabla.

-- 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"
);

Ingesta incremental con COPY INTO

COPY INTO proporciona carga incremental idempotente de archivos en una tabla Delta. Para más información sobre el COPY INTO uso, consulte Patrones comunes de carga de datos mediante COPY INTO.

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');

Ingesta de archivos SharePoint en canalizaciones de Lakeflow

Nota:

El conector SharePoint requiere Databricks Runtime 17.3 o superior.

En los ejemplos siguientes se muestra cómo leer archivos de SharePoint con Auto Loader en las canalizaciones de 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"
);

Análisis de archivos no estructurados

Al ingerir archivos no estructurados de SharePoint (como archivos PDF, documentos Word o archivos PowerPoint) mediante el conector estándar de SharePoint con formato binaryFile, el contenido del archivo se almacena como datos binarios sin procesar. Para preparar estos archivos para cargas de trabajo de INTELIGENCIA ARTIFICIAL (como RAG, búsqueda, clasificación o comprensión de documentos), puede analizar el contenido binario en una salida estructurada y consultable mediante ai_parse_document.

En el ejemplo siguiente se muestra cómo analizar documentos no estructurados almacenados en una tabla delta de bronce denominada documents, agregando una nueva columna con contenido analizado:

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;

La parsed_content columna contiene texto extraído, tablas, información de diseño y metadatos que se pueden usar directamente para canalizaciones de IA de bajada.

Análisis incremental con las canalizaciones de Lakeflow

También puede usar ai_parse_document dentro de las canalizaciones de Lakeflow para habilitar el análisis incremental. A medida que los nuevos archivos se transmiten desde SharePoint, se analizan automáticamente a medida que se actualiza la canalización.

Por ejemplo, puedes definir una tabla de streaming bronce que ingiere los archivos binarios en bruto, y luego una segunda tabla de streaming que asigne el contenido analizado a una nueva columna:

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;

Este enfoque garantiza que:

  • Los archivos de SharePoint recién incorporados se analizan automáticamente cada vez que la canalización se actualiza.
  • Las salidas analizadas se mantienen sincronizadas con los datos entrantes.
  • Las canalizaciones de IA aguas abajo siempre trabajan con representaciones de documentos actualizadas.

Consulta la ai_parse_documentfunción para ver los formatos admitidos y las opciones avanzadas, incluida la opción version, que fija el esquema de salida.

columna de metadatos de SharePoint

La columna _sharepoint_metadata es una columna de metadatos oculta que proporciona acceso a propiedades específicas SharePoint de archivos ingeridos, procedentes del recurso driveItem Microsoft Graph. Requiere Databricks Runtime 18 LTS o superior y está disponible para todos los formatos de archivo al leer desde SharePoint. Para incluir la _sharepoint_metadata columna en el dataframe devuelto, debe seleccionarla explícitamente en la consulta de lectura.

Si el origen de datos contiene una columna denominada _sharepoint_metadata, se cambia el nombre de la columna de metadatos de SharePoint a __sharepoint_metadata (con un carácter de subrayado inicial adicional) para desduplicar. Se agregan caracteres de subrayado adicionales hasta que el nombre es único.

Los metadatos de archivo comunes, como la ruta de acceso o el tamaño del archivo, se pueden consultar mediante la _metadata columna . Para obtener más información, consulte Columna de metadatos de archivo.

Esquema

La _sharepoint_metadata columna es un STRUCT que contiene los siguientes campos. Todos los campos admiten valores NULL.

Nombre Tipo Description Example
item_id STRING Identificador driveItem del elemento. 01OMQ3MNLH42C5J675CBEI5CRK7SPKQUTZ
site_id STRING Identificador del sitio de SharePoint que contiene el elemento. mytenant.sharepoint.com,69dc7b12-f92c-498d-9514-596b793a1f77,c6c1db8d-2b8d-48a1-a549-394b63d74725
drive_id STRING Identificador de la unidad que contiene el elemento. b!EnvcaSz5jUmVFFlreTofd43bwcaNK6FIpUk5S2PXRyWTvQraaWQkSpwQEgThHDS-
drive_type STRING Tipo de unidad, por ejemplo, documentLibrary para bibliotecas de SharePoint o business para OneDrive para la Empresa. documentLibrary
parent_id STRING Identificador de la carpeta del contacto principal. 01OMQ3MNN6Y2GOVW7725BZO354PWSELRRZ
parent_name STRING Nombre de la carpeta primaria. Shared Documents
ruta_principal STRING Ruta de acceso relativa a la unidad de la carpeta primaria. /drives/b!EnvcaSz5.../root:
web_url STRING Dirección URL del explorador del elemento en SharePoint. https://mytenant.sharepoint.com/sites/TestSite/_layouts/15/Doc.aspx?sourcedoc=...
tipo MIME STRING Tipo MIME del elemento. application/vnd.ms-excel
created_by_email STRING El correo electrónico del usuario que creó el elemento. alice@example.onmicrosoft.com
created_by_name STRING Nombre mostrado del usuario que creó el elemento. Alice Example
marca_temporal_de_creación TIMESTAMP Hora en que se creó el elemento. 2025-12-03 13:33:12
last_modified_by_email STRING Correo electrónico del usuario que modificó por última vez el elemento. alice@example.onmicrosoft.com
nombre_del_último_modificador STRING Nombre para mostrar del usuario que modificó por última vez el elemento. Alice Example
etag STRING ETag del elemento. Cambia cuando cambia el elemento o cualquiera de sus metadatos. "{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
ctag STRING Etiqueta de cambio del elemento. Solo cambia cuando cambia el contenido del elemento. "c:{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
description STRING Descripción del elemento, si se establece. Q4 financial report
additional_metadata VARIANT Cualquier otro driveItem devuelto por Microsoft Graph pero no extraído anteriormente. {"shared":{"scope":"users"},...}

Nota:

El additional_metadata campo se devuelve como VARIANT. Ver VARIANT tipo.

Ejemplo

En los ejemplos siguientes se muestra cómo incluir la _sharepoint_metadata columna en una consulta de lectura, seleccionar campos específicos de la columna y extraer valores del 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"
);

Seleccione campos específicos en la _sharepoint_metadata estructura:

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"))

Extraiga valores del campo additional_metadataVARIANT mediante el operador de conversión ::.

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"
);

Ingestión de páginas de sitios de SharePoint

SharePoint almacena las Páginas del Sitio como .aspx archivos en la biblioteca de Páginas del Sitio de un sitio, separados de sus bibliotecas de documentos. La ingesta de páginas de sitios requiere Databricks Runtime 19 o una versión posterior. Para más información sobre las páginas del sitio, consulte las páginas de SharePoint y el modelo de página.

Puedes ingerir las Páginas del Sitio de las siguientes maneras:

Tipo de ruta Description
Una página Abre la página en SharePoint y copia la URL desde la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx
Biblioteca de páginas del sitio Abre las Páginas del Sitio desde el contenido del sitio y copia la URL desde la barra de direcciones.
https://mytenant.sharepoint.com/sites/test-site/SitePages
Sitio o subsitio Cuando ingieres un sitio o subsitio, Azure Databricks ingiere la biblioteca de Páginas del Sitio junto con las bibliotecas de documentos del sitio.
https://mytenant.sharepoint.com/sites/test-site

Ingesta las páginas del sitio como cualquier otro archivo:

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
);

Auto Loader, COPY INTO, y otras interfaces funcionan con las Páginas del Sitio igual que cualquier otro archivo. Consulta Ejemplos para ejemplos de ingestión.

Limitaciones

El conector SharePoint estándar tiene las siguientes limitaciones.

  • No se pueden ingerir varios sitios con la misma consulta. Para recopilar datos de dos sitios, debe escribir dos consultas separadas.
  • Puede usar la pathGlobFilter opción para filtrar los archivos por nombre. No se admite el filtrado basado en la ruta de acceso de carpeta.
  • No se soportan listas de SharePoint.
  • No se admite la escritura en un servidor de SharePoint.
  • No se admite el cargador cleanSource automático (eliminación o archivado de archivos en el origen después de la ingesta).

Pasos siguientes