Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera Azure Databricks förhandsversioner.
:::note Efterlevnad
SharePoint-anslutningsappen stöder användning i arbetsytor med Konfigurera förbättrade inställningar för säkerhet och efterlevnad aktiverat.
:::
Du kan mata in strukturerade, halvstrukturerade och ostrukturerade filer från Microsoft SharePoint till Delta-tabeller. SharePoint-anslutningsappen stöder inkrementell inmatning av SharePoint filer med hjälp av batch- och direktuppspelnings-API:er, inklusive Auto Loader, spark.read och COPY INTO, allt med styrning av Unity Catalog.
Välj din SharePoint-anslutning
Lakeflow Connect erbjuder två kompletterande SharePoint anslutningsappar. De har båda åtkomst till data i SharePoint, men de stöder distinkta mål.
| Att tänka på | Hanterad SharePoint-anslutning | Standard SharePoint-koppling |
|---|---|---|
| Hantering och anpassning | En fullt hanterad anslutning. Enkla anslutningsprogram med lågt underhåll för företagsprogram som matar in data i Delta-tabeller och håller dem synkroniserade med källan. Se Hanterade kontakter i Lakeflow Connect. |
Skapa anpassade inmatningspipelines med SQL, PySpark eller Lakeflow Spark deklarativa pipelines med batch- och direktuppspelnings-API:er som read_files, spark.read, COPY INTO och Automatisk inläsning.Erbjuder flexibiliteten att utföra komplexa omvandlingar under inmatning, samtidigt som du får större ansvar för att hantera och underhålla dina pipelines. |
| Utdataformat | Enhetlig binär innehållstabell. Matar in varje fil i binärt format (en fil per rad), tillsammans med filmetadata i ytterligare kolumner. |
Strukturerade Delta-tabeller. Matar in strukturerade filer (till exempel CSV och Excel) som Delta-tabeller. Kan också användas för att mata in ostrukturerade filer i binärt format. |
| Kornighet, filtrering och urval | Inget undermapps- eller filnivåval i dag. Ingen mönsterbaserad filtrering. Läser in alla filer i det angivna SharePoint-dokumentbiblioteket. |
Finkornig och anpassad. URL-baserat val för att importera från dokumentbibliotek, undermappar eller enskilda filer. Stöder även mönsterbaserad filtrering med hjälp av pathGlobFilter alternativet . |
Viktiga funktioner
Standard-SharePoint-anslutningsappen erbjuder:
- Inmatning av strukturerade, halvstrukturerade och ostrukturerade filer
- Detaljerad inmatning: Mata in en specifik webbplats, en underwebbplats, ett dokumentbibliotek, en mapp eller en enda fil
- Batch- och strömmande inmatning med
spark.readAuto Loader ochCOPY INTO - Automatisk schemainferens och utveckling för strukturerade och halvstrukturerade format som CSV och Excel
- Skydda lagring av autentiseringsuppgifter med en Anslutning till Unity Catalog
- Filval med mönstermatchning med hjälp av
pathGlobFilter
Kravspecifikation
Om du vill mata in filer från SharePoint måste du ha följande:
- En arbetsyta med Unity Catalog aktiverat.
-
CREATE CONNECTIONbehörigheter för att skapa en SharePoint anslutning eller rätt behörighet att använda en befintlig som baseras på ditt cluster-åtkomstläge:- Dedikerat åtkomstläge:
MANAGE CONNECTION. - Standardåtkomstläge:
USE CONNECTION.
- Dedikerat åtkomstläge:
- Beräkning som använder Databricks Runtime version 17.3 LTS eller senare.
- OAuth-autentisering konfigurerad med behörighetsomfånget
Sites.Read.AllellerSites.Selected. - Funktionen SharePoint Beta är aktiverad från sidan Previews. Se Hantera Azure Databricks förhandsversioner.
- Valfritt: Aktivera funktionen Excel Beta för att parsa Excel filer. Se Läs Excel filer.
Skapa anslutningen
Skapa en Unity Catalog-anslutning för att lagra dina SharePoint autentiseringsuppgifter. Processen för anslutningsinställningar delas av både standard- och hanterade SharePoint-anslutningar.
Fullständiga installationsinstruktioner för anslutningar, inklusive autentiseringsalternativ för OAuth, finns i Översikt över konfiguration av SharePoint inmatning.
Läs filer från SharePoint
Om du vill läsa filer skickar du anslutningen som du skapade med alternativet databricks.connection och en URL som pekar på den SharePoint resurs som du vill komma åt. Url:en som du anger avgör inmatningens omfattning.
Följande sökvägstyper stöds på Databricks Runtime 17.3 LTS och senare:
| Sökvägstyp | Description |
|---|---|
| Site | Kopiera webbplats-URL:en från adressfältet.https://mytenant.sharepoint.com/sites/test-site |
| Underwebbplats | Kopiera underwebbplatsens URL från adressfältet.https://mytenant.sharepoint.com/sites/test-site/test-subsite |
| Dokumentbibliotek | Öppna biblioteket från webbplatsinnehållet och kopiera URL:en från adressfältet.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documentshttps://mytenant.sharepoint.com/sites/test-site/custom-drive |
| Folder | Öppna mappen från webbplatsinnehållet och kopiera URL:en från adressfältet. Du kan också öppna mappens fönstret Details i SharePoint och klicka på kopieringsikonen bredvid 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 | Välj filen, klicka på spillmenyn (...) och välj Förhandsgranska. Kopiera URL:en från adressfältet. Du kan också öppna filens fönster Details i SharePoint och klicka på kopieringsikonen bredvid 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.3 och senare lägger till stöd för följande sökvägstyper:
| Sökvägstyp | Description |
|---|---|
| Hyresgäst | Kopiera klientorganisationens rot-URL från adressfältet.https://mytenant.sharepoint.com |
| Kapslad underwebbplats | Kopiera underwebbplatsens URL från adressfältet.https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite |
| Dela länk | Välj filen eller mappen, klicka på spillmenyn (...) och välj Kopiera länk. Databricks rekommenderar att du ställer in resurslänken så att den aldrig upphör att gälla.https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I |
| Microsoft 365 för webben (tidigare Office) | Öppna filen i Microsoft 365 för webben och kopiera URL:en från adressfältet.https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B... |
Examples
Det finns några sätt att läsa filer med hjälp av standardanslutningsappen SharePoint.
Stream SharePoint-filer med Auto Loader (automatisk inläsare)
Automatisk inläsning är det mest effektiva sättet att stegvis mata in strukturerade filer från SharePoint. Den identifierar automatiskt nya filer och bearbetar dem när de tas emot. Den kan också mata in strukturerade och halvstrukturerade filer som CSV och JSON med automatisk schemainferens och utveckling. Mer information om användning av automatisk inläsning finns i Vanliga datainläsningsmönster.
# 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 a 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("pathGlobFilter", "*.csv")
.option("inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
Läs SharePoint filer med Spark batch read
I följande exempel visas hur du matar in SharePoint filer i Python med hjälp av funktionen spark.read.
# 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"))
Läs SharePoint filer med Spark SQL
I följande exempel visas hur du matar in SharePoint filer i SQL med hjälp av funktionen read_files tabellvärde. Mer information om read_files användning finns i read_files tabellvärdesfunktionen.
-- 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"
);
Inkrementell inmatning med COPY INTO
COPY INTO tillhandahåller idempotent inkrementell inläsning av filer i en Delta-tabell. Mer information om COPY INTO användning finns i Vanliga datainläsningsmönster med hjälp av 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');
Ingest SharePoint-filer i Lakeflow Spark Deklarativa Pipelines
Anmärkning
SharePoint-anslutningsprogrammet kräver Databricks Runtime 17.3 eller senare. Om du vill använda anslutningsappen anger du "CHANNEL" = "PREVIEW" i dina pipelineinställningar. Mer information om förhandsversioner finns i Referens för pipelineegenskaper.
I följande exempel visas hur du läser SharePoint-filer med Auto Loader i Lakeflow Spark deklarativa pipelines.
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("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"
);
Parsa ostrukturerade filer
När du matar in ostrukturerade filer från SharePoint (till exempel PDF-filer, Word dokument eller PowerPoint filer) med standard-SharePoint-anslutningsappen med binaryFile format lagras filinnehållet som binära rådata. Om du vill förbereda dessa filer för AI-arbetsbelastningar , till exempel RAG, sökning, klassificering eller dokumenttolkning, kan du parsa det binära innehållet i strukturerade, frågebara utdata med hjälp av ai_parse_document.
I följande exempel visas hur du parsar ostrukturerade dokument som lagras i en deltatabell i brons med namnet documentsoch lägger till en ny kolumn med tolkat innehåll:
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) AS parsed_content
FROM documents;
Kolumnen parsed_content innehåller extraherad text, tabeller, layoutinformation och metadata som kan användas direkt för underordnade AI-pipelines.
Inkrementell parsning med Lakeflow Spark Deklarativa Pipelines
Du kan också använda ai_parse_document i Lakeflow Spark Deklarativa pipelines för att aktivera inkrementell parsning. När nya filer strömmas in från SharePoint parsas de automatiskt som dina pipelineuppdateringar.
Du kan till exempel definiera en materialiserad vy som kontinuerligt parsar nyligen inmatade dokument:
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 MATERIALIZED VIEW documents_parsed
AS
SELECT *, ai_parse_document(content) AS parsed_content
FROM sharepoint_documents_table;
Den här metoden säkerställer att:
- Nyligen inmatade SharePoint filer parsas automatiskt när den materialiserade vyn uppdateras
- Parsade utdata är synkroniserade med inkommande data
- Nedströms AI-pipelines opererar alltid på uppdaterade dokumentrepresentationer
Läs mer: Se ai_parse_document för format som stöds och avancerade alternativ.
Begränsningar
Standard-SharePoint-anslutningsappen har följande begränsningar.
- Ingen inmatning för flera platser: Du kan inte mata in flera platser med samma fråga. Om du vill mata in från två platser måste du skriva två separata frågor.
-
Filtrering: Du kan använda alternativet
pathGlobFilterför att filtrera filer efter namn. Mappsökvägsbaserad filtrering stöds inte. - Format som inte stöds: SharePoint listor och .aspx webbplatssidor stöds inte. Endast filer i dokumentbibliotek stöds.
- Det går inte att skriva tillbaka till en SharePoint server.
- Automatisk inläsare
cleanSource(borttagning eller arkivering av filer vid källan efter inmatning) stöds inte.
Nästa steg
- Lär dig mer om Auto Loader för avancerade strömningsinmatningsmönster
- Utforska COPY INTO för idempotenta inkrementella inläsningar
- Jämför med datainmatningsmönster för molnobjektlagring
- Konfigurera jobbschemaläggning för att automatisera dina inmatningsarbetsflöden
- Använd Lakeflow Spark deklarativa pipelines för att skapa datapipelines från början till slut med transformeringar