Ingest files from SharePoint – Azure Databricksの変更点と実装前チェックリスト

SharePointやOneDrive上のExcel、CSV、PDF、Office文書をAzure Databricksに取り込みたい場合、今回のポイントは「SharePoint上のファイルをDeltaテーブルへ取り込む方法が、より実務向けに整理・拡張されたこと」です。2026年6月6日に更新されたAzure Databricksのリリースノートでは、Lakeflow ConnectのマネージドSharePointコネクタが、CSV、JSON、XML、Excel、Parquet、Avro、ORCなどの構造化ファイル取り込み、ファイルメタデータ取り込み、ファイルフィルター、スキーマ進化、スキーマヒントに対応したと説明されています。(Microsoft Learn)

一方で、すぐに本番移行してよい機能ではありません。SharePointコネクタはBetaとして提供されており、Unity Catalog、Databricks Runtime、OAuth権限、プレビュー機能の有効化、SharePoint側のURL設計を事前に確認する必要があります。管理者は「誰の権限で、どのサイト・ライブラリ・フォルダまで読ませるか」を決め、開発者は「Auto Loader、spark.readCOPY INTO、マネージドコネクタのどれを使うか」を用途別に判断するのが重要です。(Microsoft Learn)

目次

SharePoint / OneDriveの「Ingest files from SharePoint – Azure Databricks」は何が変わるのか

「Ingest files from SharePoint – Azure Databricks」は、SharePoint上の構造化、半構造化、非構造化ファイルをAzure Databricksへ取り込み、Deltaテーブルとして扱うための公式ガイドです。標準SharePointコネクタでは、Auto Loader、spark.read、SQLのread_filesCOPY INTO、Lakeflow Spark Declarative Pipelinesを使って、SharePointファイルをバッチまたはストリーミングで読み込めます。(Microsoft Learn)

今回の更新で特に注目すべき点は、SharePoint連携が「単にPDFやOffice文書をバイナリとして持ってくる」だけではなく、CSVやExcelのような業務データをDeltaテーブル化し、AI検索、RAG、レポーティング、データ品質管理に使いやすくなったことです。Databricksのリリースノートでは、マネージドSharePointコネクタが従来の非構造化中心の取り込みから、統一されたマネージドファイルソースAPIへ広がったと位置付けられています。(Microsoft Learn)

実務上の影響は大きく、たとえば次のような使い方が現実的になります。

利用シーン取り込み対象Azure Databricks側の活用例
経理・営業部門のExcel集計を分析基盤に連携.xlsx.xlsDeltaテーブル化、BI、監査用履歴管理
SharePointに保存されたCSVログを継続取り込み.csvAuto LoaderやCOPY INTOで差分ロード
PDFやWord文書をAI検索に使うPDF、DOCX、PPTXバイナリ取り込み後に文書解析、RAG用データ化
ファイル台帳を作るファイル名、サイズ、更新日時、作成者メタデータのみ取り込み、棚卸し・監査
複数部門のデータ収集を標準化サイト、ライブラリ、フォルダUnity Catalogで権限管理しながらDelta化

ここで注意したいのは、OneDriveという名前で見えているファイルでも、実体がSharePointサイトやMicrosoft 365グループのドキュメントライブラリにあるケースが多いことです。Microsoft Graphのファイルモデルでは、Microsoft 365のファイルは「drive」として扱われ、個人のOneDriveやSharePointドキュメントライブラリ上の共有ドライブに保存されます。Databricks側の機能名はSharePointコネクタなので、まずは対象ファイルのURLがSharePointサイト、ドキュメントライブラリ、フォルダ、ファイルのどれに該当するかを確認してください。(Microsoft Learn)

変更点の中心はマネージドSharePointコネクタの拡張

Azure Databricksには、SharePoint向けに大きく分けて2つの選択肢があります。1つはLakeflow ConnectのマネージドSharePointコネクタ、もう1つはSQLやPySparkで柔軟に実装する標準SharePointコネクタです。公式ドキュメントでは、多くの用途ではマネージドSharePointコネクタが推奨されていますが、複雑な変換や既存パイプラインへの組み込みが必要な場合は標準コネクタが候補になります。(Microsoft Learn)

観点マネージドSharePointコネクタ標準SharePointコネクタ
向いている用途定型的なSharePointファイル取り込みを低メンテナンスで運用したい場合PySpark、SQL、既存ジョブで細かく制御したい場合
実装の考え方Lakeflow Connectでパイプラインとして管理Auto Loader、spark.readread_filesCOPY INTOなどで実装
主なメリット差分取り込み、構造化ファイル、メタデータ取り込み、ファイルフィルターをまとめて扱いやすい変換処理、スキーマ制御、文書解析、既存ワークフロー連携の自由度が高い
注意点Beta機能。運用頻度や制限を確認する必要があるコード、スキーマ、チェックポイント、ジョブ監視を自分たちで設計する必要がある
判断基準まず安定してDeltaテーブルへ同期したい取り込み時に複雑な加工やAI処理を組み込みたい

マネージドSharePointコネクタのリファレンスでは、FILEでファイル内容とメタデータを取り込む方法、FILE_METADATAでメタデータだけを取り込む方法が示されています。対応形式にはBINARYFILECSVJSONXMLEXCELPARQUETAVROORCが含まれます。(Microsoft Learn)

対象になるファイルとURL範囲

標準SharePointコネクタでは、SharePointのサイト、サブサイト、ドキュメントライブラリ、フォルダ、単一ファイルを指定して取り込めます。Databricks Runtime 18.3以降では、テナントルート、ネストされたサブサイト、共有リンク、Microsoft 365 for the webで開いたファイルURLも対象として追加されています。(Microsoft Learn)

実装前に必ず確認すべきなのは、「ユーザーが見ている場所」と「Databricksに渡すURL」が一致しているかです。WindowsのエクスプローラーでOneDrive同期フォルダとして見えていても、Databricksに渡すのはローカルパスではなく、SharePointまたはMicrosoft 365上のURLです。

対象確認するURL実務上の注意点
SharePointサイト全体https://tenant.sharepoint.com/sites/site-name取り込み範囲が広くなりやすい。まずはフォルダ単位で検証する
ドキュメントライブラリShared DocumentsやカスタムライブラリのURLライブラリ名にスペースや日本語がある場合、URLエンコードを確認する
フォルダ対象フォルダのパスまたは詳細ペインのPath業務部門がフォルダ構成を変更するとパイプラインに影響する可能性がある
単一ファイルプレビュー画面や詳細ペインから取得したURLテストや固定帳票の取り込みに向く
共有リンクCopy linkで取得したリンクDatabricksは期限切れしない共有リンクを推奨しているが、組織の共有ポリシーと衝突しないか確認する

SharePoint Listsや.aspxのサイトページは標準SharePointコネクタの対象外です。対象はドキュメントライブラリ内のファイルであり、SharePointのリストデータを取り込む機能とは分けて考える必要があります。(Microsoft Learn)

管理者が確認すべき設定

SharePoint / OneDrive連携をAzure Databricksに展開する場合、最初に動かすべきなのはコードではなく権限設計です。特に本番運用では、個人アカウントで接続を作成して他のユーザーに共有する設計は避けるべきです。Databricksの接続作成ドキュメントでも、個人アカウントで認証した接続を共有すると、そのユーザーの資格情報とデータへのアクセスを他ユーザーに許可することになるため、共有しないよう警告しています。(Microsoft Learn)

Unity Catalogと接続権限

SharePointファイル取り込みにはUnity Catalogが前提になります。標準SharePointコネクタでは、Unity Catalogが有効なワークスペース、SharePoint接続を作成または利用するための権限、Databricks Runtime 17.3 LTS以降、OAuth認証、SharePoint Beta機能の有効化が必要です。(Microsoft Learn)

管理者は次の点を確認してください。

確認項目判断基準
Unity Catalogが有効か接続情報やDeltaテーブルをガバナンス下で管理できる状態にする
CREATE CONNECTION権限を誰に与えるか接続作成は管理者またはデータ基盤担当に限定する
USE CONNECTION権限を誰に与えるか開発者やデータ利用者には必要最小限の接続利用権限を付与する
接続名の命名規則sp-finance-prodsp-marketing-devのように環境と用途が分かる名前にする
本番・検証環境の分離Preview機能の検証は本番ワークスペースでいきなり行わない

プレビュー機能の有効化

SharePointコネクタはBetaとして提供されており、ワークスペース管理者がPreviewsページから利用可否を制御できます。Databricksのプレビュー機能はGA前の機能であり、BetaやPrivate Previewには本番利用を前提としない制約や、予告なく変更・終了される可能性がある点が明記されています。(Microsoft Learn)

そのため、本番展開の前に以下を決めておくべきです。

項目推奨される進め方
検証環境開発または検証用ワークスペースでPreviewを有効化する
本番利用判断SLA、サポート範囲、社内のプレビュー機能利用ルールを確認する
変更監視Databricksのリリースノートと関連ドキュメントの更新を定期確認する
ロールバック既存の取り込み経路を一定期間残し、並行稼働で差分を比較する

OAuth権限と認証方式

標準SharePointコネクタでは、OAuth認証でSites.Read.AllまたはSites.Selectedの権限スコープが必要です。Sites.Read.Allは広範囲の読み取り権限になるため、セキュリティ要件が厳しい組織ではSites.Selectedを優先して検討し、対象サイトを明示的に絞る設計が望ましいです。(Microsoft Learn)

Lakeflow Connectの接続作成では、OAuth U2MのDatabricks-managed方式、カスタム管理方式、OAuth M2M、手動リフレッシュトークン方式が説明されています。Databricks-managedのOAuth U2MはAzureアプリ登録が不要で、DatabricksがOAuth設定とトークン更新を管理するため、多くのユーザーに推奨されています。一方、完全自動の本番パイプラインでは、ユーザー操作なしで実行するOAuth M2Mが候補になります。(Microsoft Learn)

開発者が選ぶべき取り込み方式

開発者は「どのAPIが使えるか」ではなく、「ファイルの更新頻度、形式、再処理のしやすさ、後続処理」から方式を選ぶべきです。

方式向いているケース注意点
Auto Loader新しいファイルを継続的に取り込みたいcloudFiles.schemaLocationやチェックポイント設計が必要
spark.read検証、単発バッチ、既存PySpark処理への組み込み差分管理は別途設計する
SQL read_filesSQL中心のチームがテーブル作成したいスキーマ進化や例外処理の方針を決める
COPY INTODeltaテーブルへ冪等な差分ロードをしたいファイルパターン、スキーママージ、再実行時の挙動を確認する
Lakeflow Spark Declarative Pipelinesパイプラインとして継続管理したいSharePointコネクタ利用時はPreviewチャンネル設定が必要

標準SharePointコネクタでは、Auto Loaderを使ってSharePoint上のCSVやJSONなどを差分取り込みできます。非構造化ファイルはbinaryFileとして読み込み、PDFやOffice文書をAI処理へ渡す前段のBronzeテーブルとして使うのが現実的です。(Microsoft Learn)

Auto Loaderで継続取り込みする例

SharePointフォルダに追加されるPDFを継続的に取り込む場合は、次のような設計になります。実際のパス、接続名、スキーマ保存場所は自社環境に合わせて変更してください。

df = (
    spark.readStream
        .format("cloudFiles")
        .option("cloudFiles.format", "binaryFile")
        .option("databricks.connection", "sp_marketing_conn")
        .option("cloudFiles.schemaLocation", "dbfs:/schemas/sharepoint/marketing_pdf")
        .option("pathGlobFilter", "*.pdf")
        .load("https://contoso.sharepoint.com/sites/Marketing/Shared%20Documents")
)

この方式は「新しいファイルを検知して処理する」用途に向いています。ただし、SharePoint側のファイル削除や移動をどのように扱うか、古いファイルを再処理する条件、スキーマ保存場所の権限管理は事前に決めておく必要があります。

COPY INTOでDeltaテーブルへ差分ロードする例

日次でSharePoint上のCSVをDeltaテーブルに取り込むなら、COPY INTOも候補になります。COPY INTOはファイルをDeltaテーブルへ冪等にロードする用途に向いています。(Microsoft Learn)

COPY INTO bronze.sharepoint_sales_csv
FROM 'https://contoso.sharepoint.com/sites/Sales/Shared%20Documents/data'
FILEFORMAT = CSV
PATTERN = '*.csv'
FORMAT_OPTIONS (
  'databricks.connection' = 'sp_sales_conn',
  'header' = 'true',
  'inferSchema' = 'true'
)
COPY_OPTIONS (
  'mergeSchema' = 'true'
);

本番ではinferSchemaに頼りすぎず、重要な列はスキーマヒントや明示的な型定義で固定するのが安全です。業務部門がExcelやCSVの列名を変更した場合、気付かないうちに列が増えたり型が変わったりするためです。

Excelファイルを扱う場合の注意点

SharePoint / OneDrive上の業務データではExcelファイルが多く使われます。Azure DatabricksのExcel読み取り機能では、.xls.xlsxを直接読み取り、シートやセル範囲を指定できます。dataAddressで読み取るシートや範囲を指定し、headerRowsでヘッダー行の扱いを指定する形です。(Microsoft Learn)

ただし、Excelはデータ基盤では扱いにくい落とし穴が多い形式です。次の条件に当てはまる場合、取り込み前にファイル設計を見直してください。

Excelの状態起きやすい問題対策
1シートに複数表がある不要なセルや空白行まで取り込むdataAddressで必要範囲だけ指定する
結合セルが多い結合セルの左上以外がNULLになり、集計で欠損扱いになる取り込み用シートを別に用意する
複数ヘッダー行がある列名が正しく解釈されない1行ヘッダーの表形式に整える
パスワード付きファイル読み取り対象外になるSharePoint側で別の保護方法を検討する
マクロ前提の.xlsmマクロ実行はサポートされない計算済み値を取り込み用ファイルに出力する
ストリーミングExcelスキーマ進化が使えないスキーマを固定し、列変更時は手動レビューする

DatabricksのExcelドキュメントでは、パスワード保護ファイル、Strict OOXML、マクロ実行、ignoreCorruptFilesなどがサポート対象外として示されています。また、Auto LoaderでExcelをストリーミングすることは可能ですが、スキーマ進化はサポートされないため、schemaEvolutionModeを明示的に設定する必要があります。(Microsoft Learn)

非構造化ファイルはAI活用を前提に設計する

PDF、Word、PowerPointなどの非構造化ファイルを取り込む場合、標準SharePointコネクタではbinaryFile形式として内容がバイナリデータで保存されます。そのままでは検索や分析に使いにくいため、Databricksではai_parse_documentを使って、テキスト、表、レイアウト情報、メタデータを抽出し、AIパイプラインで扱える形に変換する方法が示されています。(Microsoft Learn)

設計としては、いきなり文書を分割・ベクトル化するのではなく、次の3層に分けると運用しやすくなります。

レイヤー内容目的
BronzeSharePointから取得したファイル本体とメタデータ原本に近い状態で保持し、再処理可能にする
Silverai_parse_documentなどで抽出した本文、表、ページ情報検索、分類、要約に使いやすい形にする
GoldRAG用チャンク、検索インデックス、業務別ビューアプリケーションや業務ユーザーが利用する

この分け方にすると、文書解析ロジックを後から改善しても、SharePointからの再取得を最小限に抑えられます。特に社内規程、契約書、提案書、議事録などは、ファイルの原本性と解析結果を分離しておくと監査対応もしやすくなります。

メタデータ取り込みで監査と差分管理がしやすくなる

SharePointファイル連携では、ファイルの中身だけでなく「誰が、いつ、どこに置いたファイルか」が重要です。標準SharePointコネクタには_sharepoint_metadataという隠しメタデータ列があり、SharePoint固有のプロパティを取得できます。ただし、この機能はPrivate Previewで、Databricks Runtime 18以上が必要です。(Microsoft Learn)

取得できるメタデータには、アイテムID、サイトID、ドライブID、親フォルダ、Web URL、MIMEタイプ、作成者、最終更新者、作成日時、更新日時、ETag、CTagなどが含まれます。特に実務で重要なのは、ファイルの内容変更を追うctagと、メタデータ変更も含めて変化するetagです。(Microsoft Learn)

マネージドSharePointコネクタでは、ファイル内容をダウンロードせずにメタデータだけを取り込むFILE_METADATAも用意されています。ファイル台帳、監査、対象ファイルの棚卸し、取り込み前の影響調査では、いきなり全ファイルを取り込むより、メタデータのみのパイプラインから始める方が安全です。(Microsoft Learn)

制限事項と失敗しやすいポイント

SharePoint / OneDrive連携で失敗しやすいのは、「ファイルを読めること」と「本番運用できること」を混同するケースです。公式ドキュメントには、標準SharePointコネクタとマネージドSharePointコネクタの制限が複数示されています。(Microsoft Learn)

注意点影響対策
非構造化ファイルは100MB以下のみ内容取得100MB超のPDFや動画は本文を取り込めないメタデータだけ取得する、対象ファイルを分割・除外する
複数サイトを1つのクエリで取り込めない全社横断の一括取り込みが難しいサイトごとにクエリやパイプラインを分ける
SharePoint Listsは対象外リストデータをファイルと同じ方法で読めない別のGraph APIや連携方式を検討する
.aspxページは対象外サイトページを文書として取り込めないページ内容が必要なら別方式で抽出する
SharePointへの書き戻しは非対応DatabricksからSharePointを更新できない出力はDelta、CSV、Power BIなど別の公開先に置く
Auto LoaderのcleanSource非対応取り込み後にSharePoint側を自動削除・アーカイブできないSharePoint側のライフサイクル管理は別途設計する
ファイル単位ACLの取り込み非対応SharePoint上の細かい権限をDelta側に再現できないUnity Catalog側で別途アクセス制御を設計する
頻繁すぎるスケジュールSharePointやパイプライン負荷、運用コストが増えるマネージドコネクタでは多くても1時間に1回程度を目安にする
個人アカウント接続の共有個人の資格情報・データアクセスを他者に渡すリスク本番はサービスアカウントやM2Mを検討する
共有リンクの期限切れある日突然パイプラインが失敗する可能ならサイト・ライブラリ・フォルダURLを使う

特に、100MB制限はAI活用で見落としやすいポイントです。PDFやPowerPointは画像を多く含むと簡単に100MBを超えます。大量の提案書や設計書をRAGに使う場合は、事前にファイルサイズ分布を集計し、対象外ファイルの扱いを決めてから取り込みを始めてください。

移行・展開時の進め方

既存のPower Query、Power Automate、手動ダウンロード、独自スクリプトでSharePointファイルを集めている組織は、いきなりAzure Databricksへ全面移行するのではなく、段階的に置き換えるのが安全です。

フェーズ実施内容完了条件
棚卸しサイト、ライブラリ、フォルダ、ファイル形式、サイズ、更新頻度、所有者を一覧化取り込み対象と除外対象が決まっている
権限設計OAuth方式、Sites.Selectedの可否、接続共有範囲を決める管理者・開発者・利用者の責任範囲が明確
小規模検証1サイトまたは1フォルダでDeltaテーブル化件数、スキーマ、更新検知、エラー処理を確認
並行稼働既存方式とDatabricks方式の結果を比較差分件数、欠損、重複、型変換ミスが許容範囲
本番展開スケジュール、通知、監視、リトライ、コスト管理を設定障害時の連絡先と復旧手順がある
継続改善スキーマ変更、フォルダ変更、権限変更を運用に組み込む業務部門の変更がパイプライン停止につながりにくい

実装時は、まずメタデータのみ取り込み、ファイル数、サイズ、更新頻度、拡張子を確認するのがおすすめです。そのうえで、構造化ファイルはDeltaテーブルへ、非構造化ファイルはBronzeテーブルから文書解析へ進めると、無駄な取り込みや権限トラブルを減らせます。

管理者・開発者向けチェックリスト

本番に近い環境で検証する前に、次の項目を確認してください。

チェック項目管理者開発者
SharePoint Beta機能を有効化している
Unity Catalogが有効で、接続・テーブルの権限設計がある
OAuth方式を決めている
Sites.Read.AllではなくSites.Selectedで足りるか検討した
個人アカウント接続を共有しない運用になっている
Databricks Runtime 17.3 LTS以降を使う
追加URL形式が必要ならRuntime 18.3以降を確認する
Excel取り込みではシート、範囲、ヘッダー行を明示する
100MB超の非構造化ファイルの扱いを決める
SharePoint Listsやサイトページを対象にしていない
ファイル単位ACLをDelta側に再現できない前提で設計する
スキーマ進化の方針を決める
エラー通知、再実行、重複確認の方法を決める
既存取り込み方式との比較期間を設ける

まず何から始めるべきか

SharePoint / OneDrive上のファイルをAzure Databricksへ取り込むなら、最初の一歩はコードを書くことではありません。対象となるSharePointサイト、ドキュメントライブラリ、フォルダ、ファイル形式、更新頻度、権限を棚卸しし、「マネージドコネクタで十分か、標準コネクタで細かく制御すべきか」を決めることです。

多くの組織では、次の順番で進めると失敗しにくくなります。

  1. 対象フォルダのメタデータだけを取り込み、ファイル数・サイズ・拡張子・更新頻度を確認する
  2. CSVやExcelなどの構造化ファイルを小さなDeltaテーブルへ取り込む
  3. PDFやOffice文書はBronzeテーブルに保存し、必要に応じてai_parse_documentで解析する
  4. Unity Catalogで接続、テーブル、利用者権限を整理する
  5. 既存の取り込み方式と並行稼働し、件数・スキーマ・更新結果を比較する
  6. スケジュール、通知、再実行手順、コスト監視を整えてから本番化する

今回の「Ingest files from SharePoint – Azure Databricks」は、SharePoint / OneDriveに散在する業務ファイルを、データ分析やAI活用に載せるための重要な選択肢です。ただしBeta機能である以上、機能の新しさよりも、権限、制限事項、ファイル設計、運用監視を先に固めることが成功の条件になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次