0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【実験】Azure Data Factory or Azure Synapse のパイプラインで SharePoint Online or Teams 上のファイルをデータレイクに連携する

Posted at

はじめに

SharePoint Online(Teamsも含む) 上のファイル連携の要望は多いです。

Azure Data FactoryでSharePointのファイルをADLS Gen2にコピー など、API を利用したコピーはいくつか見かけられますが、 基本的には 単一ファイルをループしてとるような方式です。

今回はより簡単な方法のアイデアをもらったのでやってみました。

※ 今回紹介する方法は一つの手段であり、懸念も存在します。個人的には保証されている API を利用したほうがデータ連携としては安定するように思います。ただ、API の方式は大量のファイル連携でもいけるのか?という気持ち・・・

概要

SharePoint の Onedrive を利用したローカルファイル同期を使ってファイルシステムとして セルフホステッド統合ランタイムからアクセスさせます。

手順

ローカルファイルへアクセスするためのリンクサービス設定はこちらをご確認ください。

1. ローカルファイル同期設定

1.SharePoint or Teams の 対象フォルダを同期します。

2023-02-21-09-28-21.png

2.フォルダが追加されたら右クリックから このデバイス上で常に保持 をクリック

2023-02-21-09-29-30.png

2. パイプライン作成

1.パイプライン画面からファイルシステムのデータセットを作成します。

2023-02-21-09-30-43.png

2023-02-21-09-31-23.png

2.ファイルパスを確認し、参照します。ルートフォルダはOnedriveが使用しているファイルがあるためお勧めしません。

2023-02-21-09-31-50.png

2023-02-21-09-42-51.png

3.データセットが完成しました。

2023-02-21-09-42-59.png

4.コピーアクティビティのパイプラインを作成し、適当な場所にシンクする設定をします。

2023-02-21-09-32-58.png

2023-02-21-09-32-25.png

3. 確認

1.ファイルを Teams にアップしてみます。

2023-02-21-09-40-08.png

2.数分待ち、パイプラインをデバッグ実行し、成功を確認します

2023-02-21-09-35-56.png

3.データレイクに連携できました。

2023-02-21-09-41-07.png

懸念

  • ファイル同期のラグが発生するため、アップしたファイルはすぐに取得できません。
  • 今回の検証の中ではユーザーのロック状態でも取得できることを確認できていますが、同期のタイミングや、不整合を起こした際に同期が停止するようなことが起きたら、など実際運用してみないとわからないことがありそうです。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?