SharePoint'tan dosyaları içeri almak

Uyarı

SharePoint içeri aktarma, Geliştirilmiş güvenlik ve uyumluluk ayarının etkin olduğu çalışma alanlarında kullanımı destekler.

Microsoft SharePoint'tan yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış dosyaları Delta tablolarına alabilirsiniz. SQL ve Spark API'leri, Auto Loader, spark.read ve COPY INTO dahil olmak üzere toplu ve akış API'lerini kullanarak SharePoint dosyalarının artımlı alımını destekler; tümü Unity Catalog yönetişimiyle.

SharePoint'ten nasıl içe aktaracağınızı seçin

Lakeflow Connect, SharePoint'ten alım yapmanın iki yolu sunar. Her ikisi de verilere SharePoint erişim sağlar, ancak yönetim düzeylerinde farklılık gösterir.

Option Description
Yönetilen SharePoint bağlayıcısı Kurumsal uygulamalar için tamamen yönetilen ve verileri Delta tablolarına aktaran ve bunları kaynak ile senkronize tutan bir bağlantı.
SQL ve Spark API'leri SQL, PySpark veya Lakeflow işlem hatlarıyla, read_files, spark.read, COPY INTO ve Auto Loader gibi toplu iş ve akış API'lerini kullanarak özel veri alım işlem hatları oluşturun. Alım sırasında karmaşık dönüşümler gerçekleştirme esnekliği sunarken işlem hatlarınızı yönetme ve bakımını yapma konusunda size daha fazla sorumluluk verir.

Tip

Databricks, çoğu kullanım örneği için yönetilen SharePoint bağlayıcısını önerir. Otomatik artımlı içe alma, geniş biçim desteği ve esnek dosya ile klasör seçimi sunan tam yönetilen bir deneyim sağlar.

Temel özellikler

SQL ve Spark API'leri şunları sunar:

  • Yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış dosyaların alımı
  • Ayrıntılı alma: Belirli bir siteyi, alt siteyi, belge kitaplığını, klasörü veya tek bir dosyayı alma
  • Databricks Runtime 19 ve üzeri sürümlerde SharePoint Site Sayfalarının (.aspx) içe aktarılması. Bkz. SharePoint Site Sayfalarını İçeri Aktarma.
  • spark.read kullanarak Toplu İşleme ve Akış İşleme verilerinin alınması, Otomatik Yükleyici ve COPY INTO
  • CSV ve Excel gibi yapılandırılmış ve yarı yapılandırılmış biçimler için otomatik şema çıkarımı ve evrimi
  • Unity Kataloğu bağlantısıyla kimlik bilgileri depolamanın güvenliğini sağlama
  • Desen eşleştirme kullanarak pathGlobFilter ile dosya seçimi

Gereksinimler

SharePoint'dan dosya almak için aşağıdakilere sahip olmanız gerekir:

  • Unity Kataloğu'nu etkinleştirmiş bir çalışma alanı.
  • CREATE CONNECTION SharePoint bağlantısı oluşturmak için ayrıcalıklar veya cluster erişim modunuza bağlı olarak mevcut bir bağlantıyı kullanmak için uygun ayrıcalıklar:
    • Ayrılmış Erişim Modu: MANAGE CONNECTION.
    • Standart Erişim Modu: USE CONNECTION.
  • Databricks Runtime 17.3 LTS sürümünü veya üstünü kullanan işlem.
  • Sites.Read.All veya Sites.Selected izin kapsamıyla ayarlanmış OAuth kimlik doğrulaması.

Bağlantıyı oluşturma

SharePoint kimlik bilgilerinizi depolamak için bir Unity Kataloğu bağlantısı oluşturun. Bağlantı kurulum süreci, ister SQL ve Spark API'lerini kullansanız ister yönetilen SharePoint bağlayıcısını kullansanız da aynıdır.

OAuth kimlik doğrulama seçenekleri de dahil olmak üzere tam bağlantı kurulum yönergeleri için bkz. SharePoint alımı kurulumuna genel bakış.

SharePoint'tan dosyaları oku

Dosyaları okumak için, databricks.connection seçeneğini ve erişmek istediğiniz SharePoint kaynağına işaret eden bir URL'yi kullanarak oluşturduğunuz bağlantıyı geçirin. Sağladığınız URL, alımın kapsamını belirler.

Databricks Runtime 17.3 LTS ve üzerinde, aşağıdaki yol türleri desteklenmektedir:

Yol türü Description
Site Adres çubuğundan site URL'sini kopyalayın.
https://mytenant.sharepoint.com/sites/test-site
Alt site Adres çubuğundan alt site URL'sini kopyalayın.
https://mytenant.sharepoint.com/sites/test-site/test-subsite
Belge kitaplığı Site içeriğinden kitaplığı açın ve adres çubuğundan URL'yi kopyalayın.
https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents
https://mytenant.sharepoint.com/sites/test-site/custom-drive
Folder Site içeriği'nden klasörü açın ve adres çubuğundan URL'yi kopyalayın. Alternatif olarak, klasörün Details bölmesini SharePoint açın ve Path yanındaki kopyala simgesine tıklayın.
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
Dosya Dosyayı seçin, taşma menüsüne (...) tıklayın ve Önizleme'yi seçin. Adres çubuğundan URL'yi kopyalayın. Alternatif olarak, dosyanın Details bölmesini SharePoint açın ve Path yanındaki kopyala simgesine tıklayın.
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 ve üzeri, aşağıdaki yol türlerini destekler:

Yol türü Description
İç içe alt site Adres çubuğundan alt site URL'sini kopyalayın.
https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite
Paylaş bağlantısı Dosya veya klasörü seçin, taşma menüsüne (...) tıklayın ve Bağlantıyı kopyala'yı seçin. Databricks, paylaşım bağlantısının hiçbir zaman sona ermeyecek şekilde ayarlanmasını önerir.
https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I
Web için Microsoft 365 (eski adı office) Dosyayı web için Microsoft 365 açın ve adres çubuğundan URL'yi kopyalayın.
https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B...

Databricks Runtime 19 ve üzeri, aşağıdaki yol türleri için destek ekler:

Yol türü Description
Tenant Adres çubuğundan kiracı kök URL'sini kopyalayın.
Tüm kiracı genelinde veri alma işlemini gerçekleştirmek için OAuth makineler arası (M2M) bağlantısı kullanmanız gerekir. Microsoft Graph /sites/delta uç noktası bir uygulama tokenı gerektirir.
https://mytenant.sharepoint.com
Site Sayfaları Bir sitenin belge kitaplıklarının dışında depolanan Site Pages (.aspx) kitaplığını içeri aktarın. Bkz. SharePoint Site Sayfalarını İçeri Aktarma.
https://mytenant.sharepoint.com/sites/test-site/SitePages

Örnekler

SQL ve Spark API'leri kullanarak SharePoint'ten dosya okumanın birkaç yolu vardır.

Auto Loader kullanarak SharePoint dosyalarını akıtın.

Auto Loader, yapılandırılmış dosyaları SharePoint'ten kademeli olarak almak için en verimli yolu sağlar. Yeni dosyaları otomatik olarak algılar ve geldikçe işler. Ayrıca csv ve JSON gibi yapılandırılmış ve yarı yapılandırılmış dosyaları otomatik şema çıkarımı ve evrimi ile alabilir. Otomatik Yükleyici kullanımı hakkında ayrıntılı bilgi için bkz. Yaygın veri yükleme desenleri.

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

Spark toplu okuma kullanarak SharePoint dosyalarını oku

Aşağıdaki örnekte, spark.read işlevi kullanılarak Python'da SharePoint dosyalarının nasıl alınacakları gösterilmektedir. İç içe yapılardan dosya okumak için recursiveFileLookup seçeneğini true olarak ayarlayın; örneğin, bir sitedeki belge kitaplıkları, bir belge kitaplığındaki klasörler veya bir sitedeki alt siteler.

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

SharePoint dosyalarını Spark SQL kullanarak okuyun

Aşağıdaki örnek, read_files tablo değerli işlevi kullanılarak SQL'deki SharePoint dosyalarının nasıl alınacağı gösterilmektedir. Kullanım hakkında read_files ayrıntılı bilgi için, read_files tablo değerli işleve bakın.

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

ile artımlı alma COPY INTO

COPY INTO , dosyaların Delta tablosuna eşit artımlı yüklenmesini sağlar. Kullanım hakkında COPY INTO ayrıntılı bilgi için bkz. kullanarak COPY INTOyaygın veri yükleme desenleri.

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

Lakeflow işlem hatlarında SharePoint dosyaları alma

Uyarı

SQL ve Spark API'leriyle SharePoint dosyalarını almak için Databricks Runtime 17.3 veya üzeri gereklidir.

Aşağıdaki örneklerde, Lakeflow işlem hatlarında Otomatik Yükleyici kullanarak SharePoint dosyalarının nasıl okunduğu gösterilmektedir.

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

Yapılandırılmamış dosyaları ayrıştır

SharePoint'ten yapılandırılmamış dosyaları (PDF, Word veya PowerPoint dosyaları gibi) SQL ve Spark API'leriyle binaryFile formatını kullanarak içeri aktarırken, dosya içeriği ham ikili veri olarak saklanır. Bu dosyaları, arama artırmalı üretim (RAG), arama, sınıflandırma veya belge anlama gibi yapay zeka iş yüklerine hazırlamak için, ai_parse_document kullanarak ikili içeriği yapılandırılmış, sorgulanabilir çıktıya ayrıştırabilirsiniz.

Aşağıdaki örnekte, adlı documentsbronz Delta tablosunda depolanan yapılandırılmamış belgelerin ayrıştırılmış içeriğe sahip yeni bir sütun eklemesi gösterilmektedir:

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;

Sütun, parsed_content sonrası yapay zeka iş akışları için doğrudan kullanılabilecek çıkarılan metinler, tablolar, düzenleme bilgileri ve meta veriler içerir.

Lakeflow işlem hatları ile artımlı ayrıştırma

Artımlı ayrıştırma özelliğini etkinleştirmek için Lakeflow işlem hatlarının içinde de kullanabilirsiniz ai_parse_document . Yeni dosyalar SharePoint'ten akarken, işlem hattınız güncellendikçe onlar otomatik olarak ayrıştırılır.

Örneğin, ham ikili dosyaları alan bronz bir akış tablosu tanımlayabilirsiniz, ardından ayrıştırılmış içeriği yeni bir sütuna yerleştiren ikinci bir akış tablosu var:

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;

Bu yaklaşım aşağıdakilerin sağlanmasını sağlar:

  • Yeni alınan SharePoint dosyaları, boru hattı güncellendiğinde otomatik olarak ayrıştırılır.
  • Çözümlenmiş çıktılar, gelen verilerle senkronize kalır.
  • Sonraki yapay zeka işlem hatları her zaman güncel belge gösterimleriyle çalışır.

Desteklenen formatlar ve gelişmiş seçenekler için fonksiyona bakınızai_parse_document; çıkış şemasını sabitleyen seçenek de version dahil.

SharePoint meta veri sütunu

_sharepoint_metadata sütunu, Microsoft Graph driveItem kaynağından alınan dosyaların SharePoint özgü özelliklerine erişim sağlayan gizli bir meta veri sütunudur. Databricks Runtime 18 LTS veya üzerini gerektirir ve SharePoint okurken tüm dosya biçimlerinde kullanılabilir. Döndürülen DataFrame'e _sharepoint_metadata sütununu eklemek için, okuma sorgusunda bu sütunu açıkça seçmeniz gerekir.

Veri kaynağı _sharepoint_metadata adlı bir sütun içeriyorsa, SharePoint meta veri sütunu yinelenenleri kaldıracak şekilde __sharepoint_metadata (fazladan bir ön alt çizgiyle) olarak yeniden adlandırılır. Ad benzersiz olana kadar ek alt çizgi eklenir.

Dosya yolu veya boyutu gibi yaygın dosya meta verileri sütunu kullanılarak _metadata sorgulanabilir. Bkz. dosya meta veri sütunu.

Şema

Sütun _sharepoint_metadata aşağıdaki alanları içeren bir STRUCT sütundur. Tüm alanlar null atanabilir.

İsim Türü Description Example
item_id STRING Öğenin driveItem kimliği. 01OMQ3MNLH42C5J675CBEI5CRK7SPKQUTZ
site_id STRING Öğeyi içeren SharePoint sitesinin kimliği. mytenant.sharepoint.com,69dc7b12-f92c-498d-9514-596b793a1f77,c6c1db8d-2b8d-48a1-a549-394b63d74725
drive_id STRING Öğeyi içeren sürücünün kimliği. b!EnvcaSz5jUmVFFlreTofd43bwcaNK6FIpUk5S2PXRyWTvQraaWQkSpwQEgThHDS-
sürücü_türü STRING SharePoint kitaplıkları için documentLibrary veya OneDrive İş için business gibi sürücü türü. documentLibrary
parent_id STRING Üst klasörün driveItem ID'si. 01OMQ3MNN6Y2GOVW7725BZO354PWSELRRZ
parent_name STRING Üst klasörün adı. Shared Documents
parent_path STRING Üst klasörün sürücüye göreli dosya yolu. /drives/b!EnvcaSz5.../root:
web_url STRING SharePoint'da öğenin tarayıcı URL'si. https://mytenant.sharepoint.com/sites/TestSite/_layouts/15/Doc.aspx?sourcedoc=...
mime_türü STRING Öğenin MIME türü. application/vnd.ms-excel
created_by_email STRING Öğeyi oluşturan kullanıcının e-postası. alice@example.onmicrosoft.com
created_by_name STRING Öğeyi oluşturan kullanıcının görünen adı. Alice Example
created_timestamp TIMESTAMP Öğenin oluşturulduğu saat. 2025-12-03 13:33:12
last_modified_by_email STRING Öğeyi son değiştiren kullanıcının e-postası. alice@example.onmicrosoft.com
son_değiştiren_adı STRING Öğeyi son değiştiren kullanıcının görünen adı. Alice Example
etag STRING Öğenin ETag'i. Öğe veya meta verilerinden herhangi biri değiştiğinde değişir. "{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
ctag STRING Öğenin değişiklik etiketi. Yalnızca öğenin içeriği değiştiğinde değişir. "c:{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1"
description STRING Ayarlandıysa, öğe açıklaması. Q4 financial report
ek_meta_veri VARIANT Microsoft Graph tarafından döndürülen ancak yukarıda ayıklanmamış diğer driveItem alanları. {"shared":{"scope":"users"},...}

Uyarı

Alan, additional_metadata olarak VARIANT döndürülür. Bakınız VARIANT türü.

Örnekler

Aşağıdaki örneklerde sütunun okuma sorgusuna _sharepoint_metadata nasıl ekileceği, sütundan belirli alanların nasıl seçileceği ve alandaki değerlerin ayıklanması gösterilmektedir additional_metadataVARIANT .

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

Yapıdan _sharepoint_metadata belirli alanları seçin:

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

Dönüştürme işlecini additional_metadata kullanarak VARIANT:: alanındaki değerleri ayıklayı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"
);

SharePoint site sayfalarını içeri aktar

SharePoint, Site Sayfalarını .aspx bir sitenin Site Pages kütüphanesinde, belge kütüphanelerinden ayrı olarak dosya olarak saklar. Site Sayfalarını içe aktarmak için Databricks Runtime 19 veya üstü gerekir. Site Sayfaları hakkında daha fazla bilgi için SharePoint sayfaları ve sayfa modeline bakınız.

Site Sayfalarını aşağıdaki şekillerde alabilirsiniz:

Yol türü Description
Tek sayfa Sayfayı SharePoint'te açın ve adres çubuğundan URL'yi kopyalayın.
https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx
Site Sayfaları Kütüphanesi Site içeriğinden Site Sayfalarını açın ve adres çubuğundan URL'yi kopyalayın.
https://mytenant.sharepoint.com/sites/test-site/SitePages
Site veya alt site Bir siteyi veya alt siteyi içe aktardığınızda Azure Databricks, sitenin belge kitaplıklarının yanı sıra Site Sayfaları kitaplığını da içe aktarır.
https://mytenant.sharepoint.com/sites/test-site

Site sayfalarını diğer dosyalar gibi içe aktarın:

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

Otomatik Yükleyici COPY INTOve diğer arayüzler, Site Sayfaları ile diğer tüm dosyalar gibi çalışır. Yutma örnekleri için Örnekler'e bakınız.

Sınırlamalar

SQL ve Spark API'lerinin aşağıdaki sınırlamaları vardır.

  • Aşağıdaki Microsoft 365 ulusal bulut dağıtımları desteklenmemektedir:
    • Hükümet Topluluk Bulut Lisesi (GCC Lisesi): .sharepoint.us
    • Savunma Bakanlığı (DoD): .sharepoint-mil.us
    • Çin'de 21Vianet tarafından işletilen Microsoft 365: .sharepoint.cn
  • Aynı sorguyla birden çok siteyi içe aktaramazsınız. İki siteden almak için iki ayrı sorgu yazmanız gerekir.
  • Dosyaları ada göre filtrelemek için seçeneğini kullanabilirsiniz pathGlobFilter . Klasör yolu tabanlı filtreleme desteklenmez.
  • SharePoint Listleri desteklenmemektedir.
  • SharePoint sunucusuna geri yazma desteklenmez.
  • Otomatik Yükleyici cleanSource (alma işleminden sonra kaynakta dosyaları silme veya arşivleme) desteklenmez.

Sonraki Adımlar