Microsoft SharePointをデータパイプラインのソースとして構成する ​

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Microsoft SharePointをデータパイプラインのソースとして設定し、SharePoint Onlineのドキュメントライブラリから.csv、.parquet、.avroファイルを抽出して同期し、宛先に取り込みます。

このガイドを使用して、Microsoft Entraアプリを設定し、SharePointをWorkatoに接続し、パイプラインを構成して、ファイル処理、同期モード、制限事項を確認します。

サポートされている機能 ​

Microsoft SharePointをパイプラインのソースとして使用する場合、次の機能がサポートされます:

  • SharePoint Online接続: Microsoft Graph APIを介してHTTPSでSharePoint Onlineに接続します。

  • CSV、Parquet、Avroファイル: ドキュメントライブラリのフォルダに直接保存されている.csv、.parquet、.avroファイルからデータを抽出します。

  • フル同期および増分同期: 増分同期は、各ファイルの最終更新タイムスタンプに基づいて、新規および更新されたファイルを検出します。詳細については、同期モードを参照してください。

  • サイトおよびドキュメントライブラリの選択: 各パイプラインについて、同期対象のSharePointサイトとドキュメントライブラリを選択できます。

  • マージ戦略: 行を宛先テーブルに読み込む方法を制御するために、UpsertまたはAppend onlyを選択します。

  • スキーマドリフトの検出と処理: 新しいフィールドを自動同期でスキーマの変更を自動的に検出して適用するか、新しいフィールドをブロックでスキーマを固定します。

  • フィールドレベルのデータ保護:データがデスティネーションに到達する前に、機密フィールドをハッシュ化するか、そのままレプリケートします。

  • 構成可能な同期頻度: 時間ベースの間隔またはcron式を使用して同期をスケジュールします。サポートされる最小間隔は15分です。

前提条件 ​

Microsoft SharePointをデータパイプラインのソースとして接続するには、次が必要です:

  • .csv、.parquet、.avroファイルを保存しているドキュメントライブラリを持つSharePoint Onlineサイト
  • Azureポータルへアクセスし、Microsoft Entra IDにアプリを登録できること
  • アプリケーションのアクセス許可に対して管理者の同意を付与できるMicrosoft Entra管理者です。 Sites.Selectedアクセス許可を使用する場合は、SharePoint管理者または全体管理者が各サイトへのアプリのアクセス権も付与する必要があります。
  • 同期対象ファイルのフォルダパスおよびファイル名パターン

サポートされるコネクションタイプ ​

Microsoft SharePointのデータパイプラインでは、次の認証方法がサポートされます:

  • クライアント資格情報: Microsoft Graphに対するアプリケーションのアクセス許可を持つ、Microsoft Entra IDに登録されたアプリで認証します。設定手順については、Set up your Microsoft Entra appを参照してください。

レシピ用のSharePointコネクタではサポートされていますが、データパイプラインでは認可コードグラントはサポートされていません。

パイプラインとレシピでコネクションを分けて使用すること

データパイプラインでは、Graph API (Data-Pipelines only) APIスコープを持つSharePointコネクションが必要です。このスコープはレシピのトリガーやアクションでは機能せず、SharePoint APIまたはSharePoint & Graph APIスコープを使用するレシピ用コネクションは、データパイプラインでは使用できません。レシピのコネクションを再利用するのではなく、パイプライン用に別のSharePointコネクションを作成します。

必要な権限 ​

Workatoアプリに対して、アプリケーションのアクセス許可として次のいずれかのMicrosoft Graphアクセス許可を割り当てます:

権限アクセス追加セットアップ
Sites.Selected (推奨)アプリに対して明示的に付与したサイトのみ。SharePoint管理者または全体管理者が、各サイトへのアプリのアクセス権を付与する必要があります。 Grant site access for Sites.Selectedを参照してください。
Sites.Read.Allテナント内のすべてのサイトコレクション。管理者の同意のみが必要です。

パイプラインはファイルの読み取りのみを行うため、書き込み権限は不要です。

Microsoft Entraアプリを設定する ​

AzureポータルでWorkatoアプリを登録し、コネクションの作成に必要な値を収集するには、次の手順を実行します:

1
Azure portalでWorkatoアプリを登録

AzureポータルでWorkatoアプリを登録するには、次の手順を実行します:

1

Azureポータルにサインインします。

2

アプリの登録>+ 新規登録を選択します。

3

アプリケーションの一意の名前を入力します。

4

サポートされているアカウントの種類ドロップダウンメニューを使用して、アカウントの種類を選択します。

5

プラットフォームの選択ドロップダウンメニューからWebを選択します。

6

リダイレクトURIには次のURIを使用します:

html
https://www.workato.com/oauth/callback
7

登録を選択します。

2
アプリに権限を割り当て

アプリにMicrosoft Graphアプリケーションアクセス許可を割り当てるには、次の手順を実行します:

1

新しく登録したアプリに移動し、管理>API のアクセス許可を選択します。

2

+ アクセス許可の追加をクリックし、Microsoft Graphを選択します。

3

パイプラインはサインインしているユーザーなしで実行されるため、アクセス許可の種類としてApplication permissionsを選択します。

4

Sites.SelectedまたはSites.Read.Allアクセス許可を検索して選択します。どちらを選択するかについては、Required permissionsを参照してください。

5

Add permissionsをクリックします。

3
証明書と秘密鍵の生成

Client credentialsを使用して認証するには、証明書とPrivate Keyが必要です。 OpenSSLまたはPowerShellを使用して、これらをローカルで生成できます。 PowerShellで証明書を生成する手順については、Microsoft のドキュメントを参照してください。

OpenSSLを使用して自己署名証明書を生成するには、次の手順を実行します。

1

ターミナル、または別のCLI(コマンドラインインターフェイス)ツールを開きます。

2

パスワードで保護された、domain.keyという名前の2048ビットRSA秘密鍵を作成します:

bash
openssl genrsa -out domain.key 2048
3

秘密鍵からCertificate Signing Request(CSR)domain.csrを作成します。プロンプトが表示されたら、必須フィールドの値を指定します。

bash
openssl req -key domain.key -new -out domain.csr
4

秘密キーとCSRを使用して、domain.crtという名前の自己署名証明書を作成します。

bash
openssl x509 -signkey domain.key -in domain.csr -req -days 365 -out domain.crt
5

domain.crtを開き、-----BEGIN CERTIFICATE-----行と-----END CERTIFICATE-----行を含む証明書文字列全体をコピーします。これをWorkatoのCertificate値として使用します。

6

domain.keyを開き、-----BEGIN PRIVATE KEY-----行と-----END PRIVATE KEY-----行を含む秘密キー文字列全体をコピーします。これをWorkatoのPrivate key値として使用します。

7

Azure PortalでManage > Certificates & secrets > Certificatesに移動します。

8

証明書のアップロードをクリックし、domain.crtファイルを選択します。

9

証明書の説明を入力します。

10

Addをクリックします。

4
AzureポータルでApplication (client) IDとDirectory (tenant) IDを取得する
1

概要>基本セクションに移動します。

アプリの詳細アプリの詳細

2

Workatoで使用するために、Application (client) IDとDirectory (tenant) IDをコピーします。

5
管理者の同意を付与する

Microsoft Entra IDアカウントを使用してMicrosoft SharePointコネクターに接続するには、すべての同意要求が管理者によって付与されていることを確認してください。

管理者アカウントを使用して管理者の同意を付与するには、次の手順を実行します。

1

Azure portalにサインインし、エンタープライズアプリケーション>アクティビティ>管理者の同意要求に移動します。

2

必要な同意要求を承認します。

6

Sites.Selectedアクセス許可を選択した場合に必要です。アプリにSharePointサイトへのアクセス権を付与します。この付与がない場合、同期は失敗します。詳細については、Grant site access for Sites.Selectedを参照してください。

Sites.Selected用のサイトアクセス権を付与する ​

Sites.Selectedアクセス許可だけでは、SharePoint管理者または全体管理者がアクセス権を付与するまで、アプリはどのサイトにもアクセスできません。このアクセス権付与はWorkato内から開始することはできません。 PowerShellまたはMicrosoft GraphのPOST /sites/{site-id}/permissions呼び出しを使用して、同期対象とする各サイトへのアプリのアクセス権を付与します。

Sites.Selectedの手順については、Microsoft のドキュメントを参照してください。

コネクションのサイトにはアクセス権付与が必要

Sites.Selectedを使用する場合、パイプラインで別のSite nameを入力したとしても、Workatoは各同期の開始時にコネクションのSite nameフィールドに指定されたサイトをチェックします。コネクションのSite nameフィールドを空白のままにすると、Workatoはテナントのルートサイトをチェックします。ルートサイトも他のサイトと同様に、専用のサイトアクセス権付与が必要です。この付与がない場合、同期はアクセス許可エラーで失敗します。

ルートサイトへのアクセス権を付与しないようにするには、コネクションのSite nameフィールドに、アプリがアクセス可能なサイトを入力します。

Microsoft SharePointに接続する ​

Microsoft SharePointをデータパイプラインのソースとして接続するには、次の手順を実行します:

Microsoft SharePointに接続する
1

作成 > コネクションを選択するか、Cを2回押します。

2

SharePointを検索してアプリとして選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

Connection typeフィールドでCloudを選択します。

6

Authentication typeドロップダウンメニューからClient credentialsオプションを選択します。

7

SharePointのSubdomainを入力します。 SharePoint URLで確認できます。たとえば、SharePoint URLがhttps://abc.sharepoint.comの場合、サブドメインはabcです。

8

API Scopeドロップダウンメニューで、Graph API (Data-Pipelines only)を選択します。 SharePoint APIまたはSharePoint & Graph APIスコープを使用するコネクションでは、データパイプラインはエラーを返します。

Select the Graph API (Data-Pipelines only) API scopeGraph API (Data-Pipelines only) APIスコープを選択

9

Azure ポータルの ディレクトリ (テナント) ID を Tenant ID フィールドに入力します。

10

Azure ポータルの アプリケーション (クライアント) ID を Client ID フィールドに入力します。

11

作成した証明書文字列を Certificate フィールドに入力します。

12

作成した秘密鍵文字列を Private key フィールドに入力します。

13

任意。 Site nameフィールドにSharePointサイトの名前を指定します。サイトURLに表示されている名前を入力します。たとえば、URLがhttps://company-name.sharepoint.com/sites/productの場合、サイト名はproductです。空白のままにすると、Workatoはテナントのルートサイトに接続します。

この値は、パイプラインを構成するときに、パイプラインごとに上書きできます。

14

任意。 Custom OAuth profileドロップダウンメニューを使用して、コネクション用のCustom OAuth profileを選択します。

15

Sign in with Microsoftをクリックします。

パイプラインの設定 ​

Microsoft SharePointをデータパイプラインのソースとして構成するには、次の手順を実行します:

1

作成 > データパイプラインを選択するか、C+Iを押します。

2

データパイプライン名フィールドにデータパイプラインの名前を入力します。

データパイプライン設定データパイプライン設定

3

ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。

4

ビルドを開始をクリックします。

5

Extract new/updated records from source app トリガーをクリックします。このトリガーでは、パイプラインがMicrosoft SharePointからデータを取得する方法を定義します。

ソースアプリから新規/更新済みレコードを抽出トリガーを設定ソースアプリから新規/更新済みレコードを抽出トリガーを設定

6

Your Connected Source Apps ドロップダウンメニューを使用して、Microsoft SharePoint を選択します。

7

このパイプラインで使用するMicrosoft SharePointのコネクションを選択します。または、+ 新規コネクションをクリックして、新しいコネクションを作成します。

8

任意。ドキュメントライブラリを含むSharePointサイトの名前をSite nameフィールドに入力します。コネクションのSite nameを使用する場合は、このフィールドを空白のままにします。

Enter site nameサイト名を入力

9

Document libraryドロップダウンメニューで、監視対象とするドキュメントライブラリを選択します。各パイプラインはドキュメントライブラリから読み取ります。

10

パイプラインが監視および同期するファイルを設定するには、オブジェクトを追加をクリックします。各オブジェクト設定は、宛先内に専用テーブルを作成します。

11

Source Folder path(ソースフォルダパス)フィールドに監視するフォルダパスを入力します。パイプラインはこのフォルダを監視し、ファイル名パターンに一致するファイルを取得します。ドキュメントライブラリのルートを監視するには、/を入力します。

ファイル設定を構成ファイル設定を構成

ネストされたフォルダの制限

パイプラインは、Source Folder pathフィールドで指定されたフォルダ内に直接存在するファイルのみを取得します。入れ子になったサブフォルダ内のファイルは取得されません。

パイプラインでサブフォルダ内のファイルも含める必要がある場合は、それらのファイルを最上位のフォルダに移動するか、フォルダごとに別のオブジェクトを作成します。

12

ファイルタイプドロップダウンメニューを使用して、抽出するファイル形式を選択します。 Workatoは、Microsoft SharePointに対して次のファイルタイプをサポートします:

  • CSV: .csvファイルからデータを抽出します。追加のファイルタイプ設定の構成が必要です。タブ区切りファイルを同期するには、このオプションを選択し、列区切り文字としてTabを設定します。
  • Parquet: .parquetファイルからデータを抽出します。スキーマとデータ型はファイルから直接推測されます。
  • Avro: .avroファイルからデータを抽出します。スキーマとデータ型はファイルから直接推測されます。
13

ファイル名パターンフィールドでパターンを使用して、取得するファイルを定義します。複数のファイルを含めるには、orders_* のようなワイルドカードを使用します。ファイル拡張子は、選択した File type に基づいて自動的に付加されます。

14

一致するファイルを取得をクリックして、定義したパターンに一致するファイルをプレビューします。

15

宛先テーブルのスキーマを定義する参照ファイルを選択します。

16

ファイルタイプ設定を構成します。

スキーマを取得をクリックして、参照ファイルからスキーマを取得します。

17

スキーマを確認し、想定されるテーブル構造と一致していることを確認します。スキーマプレビューには、ソースファイルから推論された列に加え、Synthetic columnsで説明されているシステム生成列が含まれます。

スキーマを確認スキーマを確認

18

マージ戦略を選択フィールドで、宛先テーブル内の行をマージする方法を設定します。 Workatoは次のマージ戦略をサポートしています:

  • アップサート: 新しい行を挿入し、既存の行を更新します。 Upsertを選択すると、Merge methodフィールドが表示されます。宛先テーブルのプライマリキーとして使用する列を1つ以上選択できます。 Merge methodを空白のままにすると、パイプラインはシステム生成の_file列と_line列を複合主キーとして使用します。
  • 追加のみ: 既存のレコードとの照合や更新を試みずに、すべての行を挿入します。パイプラインはキーで照合を行わず、Append only を選択した場合は既存の行を更新しません。
19

オブジェクトを確認をクリックして、設定を確認します。この画面には、ファイル設定、ファイルタイプ固有のオプション、マージの詳細が表示されます。

オブジェクトを確認オブジェクトを確認

20

オブジェクト名を入力します。この値が宛先テーブル名になります。

21

完了をクリックして、オブジェクト設定を保存します。

22

選択した各オブジェクトのスキーマを確認してカスタマイズします。パイプラインは、オブジェクトを選択するとそのオブジェクトのスキーマを自動的に取得します。これにより、デスティネーションがソースと一致します。

オブジェクトを展開して、関連フィールドを表示します。使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。

23

任意。オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。

  • そのまま複製: ソースのデータ値が宛先に同一に複製されます。
  • ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。

Workatoでは、個人を特定できる情報(PII)やその他の機密フィールドをハッシュ化することを推奨します。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。

24

オブジェクトを追加を再度クリックして、さらにオブジェクトを追加します。この手順を繰り返して、パイプラインにMicrosoft SharePointのオブジェクトをさらに追加します。

25

スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。

  • 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
  • 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。新しいフィールドは手動で追加する必要があります。このオプションを使用すると、ソーススキーマが更新された場合に宛先が同期されなくなる可能性があります。

詳細については、スキーマのレプリケーションとスキーマドリフトの管理を参照してください。

26

Frequency(頻度)フィールドで、標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。これにより、パイプラインがMicrosoft SharePointから送信先にデータを同期する頻度が決まります。

ファイルスキーマと処理 ​

Microsoft SharePointコネクタは、指定したフォルダに保存されている.csv、.parquet、.avroファイルを読み取ります。これらのファイルは、パイプラインが抽出して宛先に同期する構造とデータを定義します。

Workatoは、選択した参照ファイルからスキーマとデータ型を推論します:

  • CSV: Workatoはブール値と数値型を推論し、日付や日時を含むそれ以外の値はすべて文字列として扱います。ロードが完了した後、宛先でこれらのフィールドを適切なデータ型に変換します。
  • ParquetおよびAvro: Workatoは、日付型やタイムスタンプ型を含め、ファイル内に組み込まれたスキーマとデータ型を読み取ります。

正確なスキーママッピングを確保するには、一致するすべてのファイルで同じ列構造とデータ形式を維持する必要があります。

同期モード ​

Microsoft SharePointのデータパイプラインでは、フル同期と増分同期がサポートされています。 Workatoは、どちらのモードでも空のファイルをスキップします。

フル同期 ​

フル同期では、フォルダパスとファイル名パターンに一致するファイルを一覧表示し、各ファイルからすべての行を抽出します。

増分同期 ​

増分同期は行レベルではなく、ファイルレベルで行われます。 Workatoは、SharePoint内の各ファイルの最終更新タイムスタンプを増分カーソルとして使用します。パイプラインは各実行時にフォルダ内のファイルを一覧表示し、前回の正常終了した同期の開始時刻以降に新規作成または更新されたファイルのみを処理します。変更されていないファイルはスキップされます。

SharePointではCSV、Parquet、Avroコンテンツに対する行レベルの変更追跡が提供されないため、Workatoは更新されたファイルを常に全件再処理します。再処理された行で既存行を更新し、重複挿入を避けたい場合は、Upsertマージ戦略を使用します。

When first started, this pipeline should pick up records fromフィールドに開始日を設定した場合、初回実行ではその日付以降に更新されたファイルのみが対象になります。

削除追跡 ​

Microsoft SharePointのデータパイプラインは、削除の追跡をサポートしません。 Workatoは、SharePointからファイルを削除しても、そのファイルから読み込んだ行を削除またはマークしません。

スキーマとデータ型の処理 ​

Microsoft SharePointからデータを同期する場合、スキーマとデータ型について次の点に注意してください:

ネストされたデータ ​

ParquetおよびAvroファイルには、ネストされたオブジェクトや繰り返しフィールド (配列) を含めることができます。 Workatoは、これらを個々の列にフラット化するのではなく、単一の列にJSONとしてシリアル化します。 Avroファイルの場合、これはマップや、複数の非NULL型を保持できるunisonフィールドにも適用されます。

Workatoは、Avroのbytesおよびfixed値をBase64エンコードされた文字列として抽出します。 decimal論理型を使用する値は、decimalとして抽出されます。

合成列 ​

Workatoは、Microsoft SharePointオブジェクトから作成される宛先テーブルに、次のシンセティック列を自動的に追加します:

列タイプ目的
_file文字列行が読み取られたソースファイルのパス (フォルダパスおよびファイル名を含む)
_lineLongソースファイル内のレコードの行番号
_modifiedタイムスタンプ同期時点におけるソースファイルの最終更新タイムスタンプ。この列は、Append onlyマージ戦略を使用する場合にのみ、Workatoによって追加されます。

_file、_line、_modifiedという名前は予約済みです。これらの名前のいずれかを持つ列を含むファイルは、スキーマ処理に失敗します。

機密データの処理 ​

SharePointファイルには、PIIや機密性の高い業務情報を含む、あらゆる顧客データを含めることができます。各ファイルのスキーマは顧客が定義するため、Workatoはどの列に機密データが含まれているかを事前に予測できません。

同期前に各オブジェクトのフィールドを確認し、PIIやその他の機密データを含む列には、フィールドレベルのデータ保護でHashオプションを使用してハッシュ化します。詳細については、パイプラインを構成手順を参照してください。

制限事項 ​

Microsoft SharePointをデータパイプラインのソースとして使用する場合、次の制限事項が適用されます:

レシピのコネクションは再利用できない ​

データパイプラインではGraph API (Data-Pipelines only) APIスコープを持つSharePointコネクションが必要であり、このスコープはレシピでは機能しません。パイプライン用に別のコネクションを作成します。詳細については、サポートされているコネクションタイプを参照してください。

入れ子のフォルダはサポートされない ​

パイプラインは、Source Folder pathフィールドで指定したフォルダ内に直接存在するファイルのみを取得します。サブフォルダ内のファイルは同期されません。

CSV、Parquet、Avroファイルのみがサポートされる ​

パイプラインは、Excel、JSON、XML、PDF、画像など、その他のファイル形式からデータを抽出しません。

SharePoint ListsおよびSharePoint Serverはサポートされない ​

データパイプラインは、SharePoint Onlineのドキュメントライブラリからのみファイルを読み取ります。構造化されたSharePoint ListsやSharePoint Server (オンプレミス) デプロイメントはサポートされません。

パイプラインごとのサイトとドキュメントライブラリ ​

各パイプラインは、選択したサイトとドキュメントライブラリから読み取ります。パイプラインは、複数サイトにまたがってファイルを集約したり、テナント内のすべてのファイルを列挙したりすることはありません。

最小同期頻度 ​

サポートされる最小同期間隔は15分です。

最終更新日: