Azure Data Factory コピー アクティビティを使用して Fablic にデータを取り込む方法

Azure Data Factory (ADF) と Azure Synapse Analytics の Microsoft Fabric Lakehouse コネクタを使用すると、Microsoft Fabric Lakehouse (テーブルとファイルの両方) に対する読み取りと書き込みの両方の操作が可能になります。 このコネクタを使用すると、既存の ADF および Synapse パイプラインとマッピング データ フローを使用して Fabric Lakehouses と対話できます。 この記事では、サービス プリンシパル認証を許可するように Microsoft Fabric を構成し、Fabric Lakehouse への読み取りと書き込みの両方を行う Lakehouse Connector を示します。

Microsoft Fabric Lakehouse の詳細については、「レイクハウスとは?」を参照してください。

Azure Data Factory Lakehouse コネクタ

新しい Lakehouse のリンクされたサービス コネクタと 2 つの新しいデータセットが、Microsoft Fabric Lakehouse からの読み取りと Microsoft Fabric Lakehouse への書き込みを開始したい顧客が利用できるようになりました。 Lakehouse Connector の完全なガイドについては、Microsoft Fabric Lakehouse Files (プレビュー) のデータのコピーと変換を参照してください。

認証

Azure Data Factory リンク サービス

Microsoft Fabric Lakehouse コネクタでは、認証にサービス プリンシパル (SPN)/アプリの登録が必要です。 開始するには、新しい SPN を作成するか、既存の SPN を使用する必要があります。 Microsoft Fabric では、特定のセキュリティ グループまたは組織全体に対する SPN アクセスを許可します。 特定のセキュリティ グループが組織で使用するオプションである場合、Lakehouse コネクタで使用される SPN は、許可リストに追加されるセキュリティ グループに属している必要があります。

Note

Power BI API のアクセス許可 (委任) は必要ありません

Power BI API へのアクセス

Power BI テナント管理者は、Power BI 管理ポータルから [サービス プリンシパルに Power BI API の使用を許可する] を有効にする必要があります。 セキュリティ グループは、[サービス プリンシパルに Power BI API の使用を許可する] 設定で指定する必要があります。または、組織全体に対して有効にすることもできます。

完全なガイドについては、「サービス プリンシパルとアプリケーション シークレットを使用して、埋め込み分析アプリケーションに Power BI コンテンツを埋め込む」を参照してください。

Note

セキュリティ グループをワークスペースに割り当てると、Azure でのアクセス許可のキャッシュにより、サービス プリンシパルにワークスペースへのアクセスが許可されるまでに遅延が発生する可能性があります。 すぐにアクセスする必要がある場合は、PowerShell を使用して、ユーザーのアクセス許可を強制的に更新できます。 これを行うには、管理者として PowerShell を開き、次のコマンドを実行します。

Install-Module -Name MicrosoftPowerBIMgmt
Connect-PowerBIServiceAccount -Tenant '<TENANT ID>' -ServicePrincipal -Credential (Get-Credential)
Get-PowerBIWorkspace
Invoke-PowerBIRestMethod -URL 'https://api.powerbi.com/v1.0/myorg/RefreshUserPermissions' -Method Post -Body ''
Get-PowerBIWorkspace

ワークスペース アクセス

セキュリティ グループが追加されたら、セキュリティ グループまたはサービス プリンシパルも、メンバー、共同作成者、または管理者として各ワークスペースに追加する必要があります。詳細については、「ワークスペースへのアクセス権をユーザーに付与する」を参照してください。

デモ: 認証をセットアップする

アプリの登録サービス プリンシパル

アプリ登録サービス プリンシパル (SPN) を作成または使用します。 「Microsoft Entra ID でアプリケーションを登録し、サービス プリンシパルを作成する」の手順に従います。

Note

リダイレクト URI を割り当てる必要はありません。

新しいサービス プリンシパルの詳細を示すスクリーンショット。

セキュリティ グループ

新しい Microsoft Entra セキュリティ グループを作成するか、既存のグループを使用して SPN を追加します。 「基本グループを作成してメンバーを追加する」の手順に従って、Microsoft Entra セキュリティ グループを作成します。

セキュリティ グループにメンバーを追加する場所を示すスクリーンショット。

Power BI 管理ポータル

Power BI 管理ポータルから、[開発者設定] に移動し、[サービス プリンシパルによる Power BI API の使用を許可する] を選択し、有効にします。 次に、前の手順のセキュリティ グループを追加します。 Power BI 管理ポータルのテナント設定の詳細については、「テナント設定」を参照してください。

[ユーザーにサービス プリンシパルを許可する] Power BI API オプションがデプロイされ、有効になっている Power BI 管理ポータルを示すスクリーンショット。

Note

[ユーザーは Fabric の外部のアプリを使用して OneLake の格納データにアクセスできます] の設定が有効になっていることを確認してください。 「Fabric の外部で実行されているアプリが OneLake 経由でデータにアクセスできるようにする」を参照してください。

ワークスペース

メンバー投稿者、または 管理 アクセス権を持つワークスペースに SPN またはサービス グループを追加します。

Azure Data Factory: リンク サービス

Azure Data Factory から、新しい Microsoft Fabric Lakehouse のリンクされたサービスを作成します。

Note

ワークスペースと Lakehouse ID を見つけるには、Fabric Lakehouse に移動し、URL から識別します。 例: https://.../groups/<Workspace ID>>/lakehouses/<Lakehouse ID>

Azure Data Factory データセット

Microsoft Fabric Lakehouse のリンクされたサービスを参照するデータセットを作成します。

Note

テーブルがまだ存在せず、新しいテーブル名を手動で指定する場合は、[スキーマのインポート] オプションで [なし] を選択します。

Microsoft Fabric Lakehouse Table データセットの種類が選択された [新しいデータセット] ダイアログを示すスクリーンショット。

[スキーマのインポート] オプションが [なし] に設定されているデータセットの [プロパティの設定] ダイアログを示すスクリーンショット。

デモ: ADF パイプラインを使用して Fabric Lakehouse テーブルに書き込む

ソース

新しいパイプラインを作成し、パイプライン キャンバスに Copy アクティビティを追加します。 Copy アクティビティの [ソース] タブから、Lakehouse テーブルに移動するソース データセットを選択します。 この例では、Azure Data Lake Storage (ADLS) Gen2 アカウントから.csv ファイルを参照しています。

ソース データセットに対して.csvが選択されているCopy アクティビティの [ソース設定] タブの構成を示すスクリーンショット。

Sink

Copy アクティビティの [シンク] タブに移動し、前に作成した Fabric Lakehouse データセットを選択します。

前に作成した Fabric Lakehouse データセットの選択を示すスクリーンショット。

パイプラインを実行する

パイプラインを実行して、.csv データを Fabric Lakehouse テーブルに移動します。

パイプラインの実行結果を示すスクリーンショット。

デモ: ADF パイプラインを使用して Fabric Lakehouse テーブルから読み取る

上記のセクションでは、ADF を使用して Fabric Lakehouse テーブルに書き込む方法を示しました。 次に、Fabric Lakehouse テーブルから読み取り、同様のパイプラインを使用して Azure Data Lake Storage (ADLS) Gen2 の Parquet ファイルに書き込みましょう。

ソース

新しいパイプラインを作成し、パイプライン キャンバスに Copy アクティビティを追加します。 Copy アクティビティの [ソース] タブで、以前に作成した Fabric Lakehouse データセットを選択します。

前に作成した Lakehouse データ ソースの選択とプレビューを示すスクリーンショット。

Sink

Copy アクティビティの [シンク] タブに移動し、コピー先のデータセットを選択します。 この例では、コピー先は Parquet ファイルとして Azure Data Lake Storage (Gen2) です。

ADLS Gen2 シンクの選択を示すスクリーンショット。

パイプラインを実行する

パイプラインを実行して、Fabric Lakehouse テーブルから ADLS Gen2 の Parquet ファイルにデータを移動します。

パイプラインを実行して Fabric Lakehouse から ADLS Gen2 にデータをインポートした結果を示すスクリーンショット。

ADLS Gen2 で Parquet ファイルを検査する

Fabric Lakehouse テーブルのデータは、ADLS Gen2 で Parquet ファイルとして使用できるようになりました。

パイプラインによって生成された Parquet ファイルを示すスクリーンショット。

まとめ

このセクションでは、Microsoft Fabric Lakehouse へのサービス プリンシパル認証を使用した Lakehouse Connector の要件について説明した後、Azure Data Factory パイプラインから Lakehouse に対する読み取りと書き込みの両方の例について説明しました。 このコネクタと機能は、Azure Data Factory マッピング データ フロー、Azure Synapse Analytics、Azure Synapse Analytics マッピング データ フローでも使用できます。

Azure Data Factory のドキュメント