Pobieranie plików z SharePoint

:::uwaga Zgodność

Łącznik SharePoint obsługuje użycie w obszarach roboczych z włączonymi ulepszonymi ustawieniami zabezpieczeń i zgodności.

:::

Pliki ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane można importować z Microsoft SharePoint do tabel delty. Łącznik SharePoint obsługuje przyrostowe pozyskiwanie plików SharePoint przy użyciu interfejsów API wsadowych i przesyłania strumieniowego, w tym Auto Loader, spark.read i COPY INTO z zarządzaniem katalogiem Unity.

Wybierz swój łącznik SharePoint

Program Lakeflow Connect oferuje dwa łączniki SharePoint. Obie te grupy uzyskują dostęp do danych w SharePoint, ale różnią się w zależności od ich poziomu zarządzania.

Connector Opis
Zarządzany łącznik programu SharePoint W pełni zarządzany łącznik. Prosty, niewymagający konserwacji łącznik do aplikacji korporacyjnych, który ładuje dane do tabel Delta i utrzymuje ich synchronizację ze źródłem.
Standardowy łącznik SharePoint Twórz niestandardowe potoki ingestii danych przy użyciu SQL, PySpark lub potoków Lakeflow, korzystając z interfejsów API do przetwarzania wsadowego i strumieniowego, takich jak read_files, spark.read, COPY INTO i Auto Loader. Zapewnia elastyczność wykonywania złożonych przekształceń podczas ingestii, jednocześnie przekazując większą odpowiedzialność za zarządzanie potokami i ich konserwację.

Tip

Databricks zaleca zarządzany łącznik programu SharePoint w większości zastosowań. Zapewnia ona w pełni zarządzane środowisko z automatycznym pozyskiwaniem przyrostowym, obsługą szerokiego formatu oraz elastycznym wyborem plików i folderów.

Kluczowe funkcje

Standardowy łącznik SharePoint oferuje:

  • Przetwarzanie plików ustrukturyzowanych, częściowo ustrukturyzowanych i nieustrukturyzowanych
  • Granolowane pozyskiwanie: pozyskiwanie określonej witryny, podwitryny, biblioteki dokumentów, folderu lub pojedynczego pliku
  • Pobieranie stron SharePoint (.aspx) w Databricks Runtime 19 i wyższych. Zobacz Ingest stron SharePoint.
  • Pozyskiwanie danych przetwarzania wsadowego i strumieniowego przy użyciu spark.readAuto Loader i COPY INTO
  • Automatyczne wnioskowanie i ewolucja schematu dla formatów strukturalnych i częściowo ustrukturyzowanych, takich jak CSV i Excel
  • Zabezpieczanie magazynu poświadczeń z połączeniem Unity Catalog
  • Wybór plików z dopasowywaniem wzorca przy użyciu pathGlobFilter

Requirements

Aby pozyskiwać pliki z SharePoint, musisz mieć następujące elementy:

  • Obszar roboczy z włączonym Unity Catalog.
  • uprawnienia do tworzenia połączenia z SharePoint lub odpowiednie uprawnienia do używania istniejącego połączenia w zależności od trybu dostępu do klastra :
    • Tryb dedykowanego dostępu: MANAGE CONNECTION.
    • Standardowy tryb dostępu: USE CONNECTION.
  • Obliczenia wykorzystujące Databricks Runtime w wersji 17.3 LTS lub nowszej.
  • Uwierzytelnianie OAuth skonfigurowane z użyciem zakresu uprawnień Sites.Read.All lub Sites.Selected.
  • Opcjonalnie: włącz funkcję Excel Beta na potrzeby analizowania plików Excel. Zobacz Odczytywanie i przesyłanie strumieniowe plików Excel.

Tworzenie połączenia

Utwórz połączenie Unity Catalog, aby zapisać dane uwierzytelniające SharePoint. Proces konfiguracji połączenia jest współużytkowany zarówno między łącznikami standardowymi, jak i zarządzanymi SharePoint.

Aby uzyskać pełne instrukcje konfiguracji połączenia, w tym opcje uwierzytelniania OAuth, zobacz Przegląd konfiguracji importu do SharePoint.

Odczyt plików z SharePoint

Aby odczytać pliki, przekaż połączenie utworzone przy użyciu opcji databricks.connection i adresu URL wskazującego zasób SharePoint, do którego chcesz uzyskać dostęp. Adres URL, który dostarczasz, określa zakres integracji danych.

Następujące typy ścieżek są obsługiwane w Databricks Runtime 17.3 LTS i wyższych:

Typ ścieżki Opis
Site Skopiuj adres URL witryny z paska adresu.
https://mytenant.sharepoint.com/sites/test-site
Podwitryna Skopiuj adres URL podwitryny z paska adresu.
https://mytenant.sharepoint.com/sites/test-site/test-subsite
Biblioteka dokumentów Otwórz bibliotekę z zawartości witryny i skopiuj adres URL z paska adresu.
https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents
https://mytenant.sharepoint.com/sites/test-site/custom-drive
Folder Otwórz folder z zawartości witryny i skopiuj adres URL z paska adresu. Alternatywnie otwórz okienko Details w SharePoint i kliknij ikonę kopiowania obok 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 Wybierz plik, kliknij menu rozwijane (...), a następnie wybierz pozycję Podgląd. Skopiuj adres URL w pasku adresu. Alternatywnie otwórz okienko Details pliku w SharePoint i kliknij ikonę kopiowania obok 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 i nowsze obsługuje następujące typy ścieżek:

Typ ścieżki Opis
Zagnieżdżona podstrona Skopiuj adres URL podwitryny z paska adresu.
https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite
Udostępnij link Wybierz plik lub folder, kliknij menu przepełnienia (...), a następnie wybierz Kopiuj link. Usługa Databricks zaleca ustawienie linku udostępniania, aby nigdy nie wygasało.
https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I
Microsoft 365 dla sieci Web (dawniej Office) Otwórz plik w Microsoft 365 dla sieci Web i skopiuj adres URL z paska adresu.
https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B...

Databricks Runtime 19 i wyższe dodają wsparcie dla następujących typów ścieżek:

Typ ścieżki Opis
Tenant Skopiuj korzeniowy adres URL dzierżawy z paska adresu.
https://mytenant.sharepoint.com
Strony internetowe Pobieraj bibliotekę Site Pages (.aspx) witryny, przechowywaną poza bibliotekami dokumentów. Zobacz Ingest stron SharePoint.
https://mytenant.sharepoint.com/sites/test-site/SitePages

Przykłady

Istnieje kilka sposobów odczytywania plików przy użyciu standardowego łącznika SharePoint.

Strumieniowanie plików SharePoint przy użyciu Auto Loader.

Moduł automatycznego ładowania zapewnia najbardziej wydajny sposób przyrostowego pozyskiwania plików strukturalnych z SharePoint. Automatycznie wykrywa nowe pliki i przetwarza je po ich nadejściu. Może również pozyskiwać pliki ustrukturyzowane i częściowo ustrukturyzowane, takie jak CSV i JSON, z automatycznym wnioskowaniem i ewolucją schematu. Aby uzyskać szczegółowe informacje na temat użycia automatycznego modułu ładującego, zobacz Typowe wzorce ładowania danych.

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

Odczytuj pliki SharePoint z użyciem odczytu wsadowego platformy Spark

W poniższym przykładzie pokazano, jak importować pliki SharePoint w języku Python przy użyciu funkcji spark.read. Ustaw opcję recursiveFileLookup na true, aby odczytywać pliki z zagnieżdżonych struktur, takich jak biblioteki dokumentów w witrynie, foldery w bibliotece dokumentów lub podwitryny w witrynie.

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

Odczytaj pliki SharePoint przy użyciu Spark SQL

W poniższym przykładzie pokazano, jak w języku SQL pozyskiwać pliki SharePoint przy użyciu funkcji zwracającej wartości tabeli read_files. Aby uzyskać szczegółowe informacje na temat read_files użycia, zobacz read_files funkcja wartości tabeli.

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

Pozyskiwanie przyrostowe za pomocą COPY INTO

COPY INTO Program zapewnia idempotentne przyrostowe ładowanie plików do tabeli Delta. Aby uzyskać szczegółowe informacje na temat COPY INTO użycia, zobacz Typowe wzorce ładowania danych przy użyciu 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');

Pozyskiwanie plików SharePoint w potokach usługi Lakeflow

Uwaga / Notatka

Złącze SharePoint wymaga Databricks Runtime 17.3 lub nowszego.

Poniższe przykłady pokazują, jak odczytywać pliki z SharePoint przy użyciu Auto Loader w potokach 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"
);

Analizowanie plików bez struktury

Podczas pozyskiwania plików bez struktury z SharePoint (takich jak pliki PDF, dokumenty Word lub pliki PowerPoint) przy użyciu standardowego łącznika SharePoint z formatem binaryFile zawartość pliku jest przechowywana jako nieprzetworzone dane binarne. Aby przygotować te pliki dla obciążeń sztucznej inteligencji , takich jak RAG, wyszukiwanie, klasyfikacja lub opis dokumentów, można przeanalizować zawartość binarną w ustrukturyzowanych danych wyjściowych z możliwością wykonywania zapytań przy użyciu polecenia ai_parse_document.

W poniższym przykładzie pokazano, jak analizować dokumenty bez struktury przechowywane w brązowej tabeli delty o nazwie documents, dodając nową kolumnę z analizowaną zawartością:

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;

Kolumna parsed_content zawiera wyodrębniony tekst, tabele, informacje o układzie i metadane, które mogą być używane bezpośrednio dla podrzędnych potoków sztucznej inteligencji.

Parsowanie przyrostowe za pomocą potoków Lakeflow

Możesz również użyć ai_parse_document w potokach Lakeflow, aby włączyć parsowanie przyrostowe. W miarę jak nowe pliki są przesyłane strumieniowo z SharePoint, są one automatycznie analizowane jako aktualizacje potoku.

Na przykład możesz zdefiniować brązową tabelę streamingową, która pobiera surowe pliki binarne, a następnie drugą tabelę streamingową, która umieszcza parsowane treści w nowej kolumnie:

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;

Takie podejście gwarantuje, że:

  • Nowo pobrane pliki SharePoint są automatycznie analizowane za każdym razem, gdy pipeline się aktualizuje.
  • Parsowane wyjścia pozostają zsynchronizowane z danymi przychodzącymi.
  • Dalsze potoki AI zawsze operują na aktualnych reprezentacjach dokumentów.

Zobacz ai_parse_document function, aby uzyskać informacje o obsługiwanych formatach i opcjach zaawansowanych, w tym o opcji version, która przypina schemat wyjściowy.

kolumna metadanych SharePoint

Kolumna _sharepoint_metadata to ukryta kolumna metadanych, która zapewnia dostęp do właściwości specyficznych dla SharePoint plików wczytanych, pochodzących z zasobu driveItem Microsoft Graph. Wymaga środowiska Databricks Runtime 18 LTS lub nowszego i jest dostępny dla wszystkich formatów plików podczas odczytywania z SharePoint. Aby dołączyć kolumnę _sharepoint_metadata do zwróconej ramki danych, musisz jawnie wybrać ją w zapytaniu odczytu.

Jeśli źródło danych zawiera kolumnę o nazwie _sharepoint_metadata, nazwa kolumny metadanych SharePoint zostanie zmieniona na __sharepoint_metadata (z dodatkowym wiodącym podkreśleniem) w celu deduplikacji. Dodatkowe podkreślenia są dodawane do momentu, gdy nazwa będzie unikatowa.

Typowe metadane pliku, takie jak ścieżka pliku lub rozmiar, można wykonywać zapytania przy użyciu kolumny _metadata . Aby uzyskać więcej informacji, zobacz Kolumna metadanych pliku.

Schemat

Kolumna _sharepoint_metadata to STRUCT, które zawiera następujące pola. Wszystkie pola mogą mieć wartość null.

Name Typ Opis Przykład
item_id STRING Identyfikator driveItem elementu. 01OMQ3MNLH42C5J675CBEI5CRK7SPKQUTZ
site_id STRING Identyfikator witryny SharePoint zawierającej element. mytenant.sharepoint.com,69dc7b12-f92c-498d-9514-596b793a1f77,c6c1db8d-2b8d-48a1-a549-394b63d74725
drive_id STRING Identyfikator dysku, który zawiera element. b!EnvcaSz5jUmVFFlreTofd43bwcaNK6FIpUk5S2PXRyWTvQraaWQkSpwQEgThHDS-
drive_type STRING Typ dysku, na przykład documentLibrary dla bibliotek SharePoint lub business dla OneDrive dla Firm. documentLibrary
parent_id STRING Identyfikator driveItem folderu nadrzędnego. 01OMQ3MNN6Y2GOVW7725BZO354PWSELRRZ
parent_name STRING Nazwa folderu nadrzędnego. Shared Documents
parent_path STRING Ścieżka względna dysku folderu nadrzędnego. /drives/b!EnvcaSz5.../root:
web_url STRING Adres URL przeglądarki elementu w SharePoint. https://mytenant.sharepoint.com/sites/TestSite/_layouts/15/Doc.aspx?sourcedoc=...
typ MIME STRING Typ MIME elementu. application/vnd.ms-excel
created_by_email STRING Adres e-mail użytkownika, który utworzył element. alice@example.onmicrosoft.com
created_by_name STRING Nazwa wyświetlana użytkownika, który utworzył element. Alice Example
znacznik_czasu_utworzenia TIMESTAMP Czas utworzenia elementu. 2025-12-03 13:33:12
last_modified_by_email STRING Adres e-mail użytkownika, który ostatnio zmodyfikował element. alice@example.onmicrosoft.com
last_modified_by_name STRING Nazwa wyświetlana użytkownika, który ostatnio zmodyfikował element. Alice Example
etag STRING ETag elementu. Zmienia się, gdy element lub dowolny z jego metadanych ulegnie zmianie. "{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
ctag STRING Tag zmiany elementu. Zmienia się tylko wtedy, gdy zawartość elementu ulegnie zmianie. "c:{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
opis STRING Opis elementu, jeśli został ustawiony. Q4 financial report
dodatkowe_metadane VARIANT Wszystkie inne pola driveItem zwracane przez Microsoft Graph, ale nie zostały wyodrębnione powyżej. {"shared":{"scope":"users"},...}

Uwaga / Notatka

Pole additional_metadata jest zwracane jako VARIANT. Zobacz VARIANT typ.

Przykłady

W poniższych przykładach pokazano, jak uwzględnić kolumnę _sharepoint_metadata w zapytaniu odczytu, wybrać określone pola z kolumny i wyodrębnić wartości z additional_metadataVARIANT pola.

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

Wybierz określone pola z _sharepoint_metadata struktury:

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

Wyodrębnij wartości z additional_metadataVARIANT pola przy użyciu operatora rzutowania :: :

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

Pobieranie stron SharePoint

SharePoint przechowuje strony jako pliki .aspx w bibliotece Strony witryny danej witryny, oddzielnie od jej bibliotek dokumentów. Pobieranie stron witryn wymaga Databricks Runtime 19 lub wyższego. Aby uzyskać więcej informacji o stronach witryny, zobacz artykuł Strony programu SharePoint i model stron.

Możesz pobierać strony w następujący sposób:

Typ ścieżki Opis
Pojedyncza strona Otwórz stronę w SharePoint i skopiuj adres URL z paska adresowego.
https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx
Biblioteka stron witryny Otwórz Strony witryny z Zawartość witryny i skopiuj adres URL z paska adresu.
https://mytenant.sharepoint.com/sites/test-site/SitePages
Strona lub podstrona Gdy pobierasz stronę lub podwitrynę, Azure Databricks pobiera bibliotekę Site Pages wraz z bibliotekami dokumentów witryny.
https://mytenant.sharepoint.com/sites/test-site

Importuj strony witryny tak jak każdy inny plik:

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, i inne interfejsy działają ze stronami witryny tak samo jak z każdym innym plikiem. Zobacz przykłady spożycia w sekcji Przykłady .

Ograniczenia

Standardowy łącznik SharePoint ma następujące ograniczenia.

  • Nie można importować wielu witryn przy użyciu tego samego zapytania. Aby pobierać dane z dwóch witryn, musisz napisać dwa oddzielne zapytania.
  • Możesz użyć opcji filtrowania pathGlobFilter plików według nazwy. Filtrowanie oparte na ścieżkach folderów nie jest obsługiwane.
  • Listy SharePoint nie są obsługiwane.
  • Zapisywanie z powrotem na serwerze SharePoint nie jest obsługiwane.
  • Automatyczne ładowanie cleanSource (usuwanie lub archiwizowanie plików w źródle po załadowaniu) nie jest obsługiwane.

Dalsze kroki