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 管理ポータルのテナント設定の詳細については、「テナント設定」を参照してください。
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
テーブルがまだ存在せず、新しいテーブル名を手動で指定する場合は、[スキーマのインポート] オプションで [なし] を選択します。
デモ: ADF パイプラインを使用して Fabric Lakehouse テーブルに書き込む
ソース
新しいパイプラインを作成し、パイプライン キャンバスに Copy アクティビティを追加します。 Copy アクティビティの [ソース] タブから、Lakehouse テーブルに移動するソース データセットを選択します。 この例では、Azure Data Lake Storage (ADLS) Gen2 アカウントから.csv ファイルを参照しています。
Sink
Copy アクティビティの [シンク] タブに移動し、前に作成した Fabric Lakehouse データセットを選択します。
パイプラインを実行する
パイプラインを実行して、.csv データを Fabric Lakehouse テーブルに移動します。
デモ: ADF パイプラインを使用して Fabric Lakehouse テーブルから読み取る
上記のセクションでは、ADF を使用して Fabric Lakehouse テーブルに書き込む方法を示しました。 次に、Fabric Lakehouse テーブルから読み取り、同様のパイプラインを使用して Azure Data Lake Storage (ADLS) Gen2 の Parquet ファイルに書き込みましょう。
ソース
新しいパイプラインを作成し、パイプライン キャンバスに Copy アクティビティを追加します。 Copy アクティビティの [ソース] タブで、以前に作成した Fabric Lakehouse データセットを選択します。
Sink
Copy アクティビティの [シンク] タブに移動し、コピー先のデータセットを選択します。 この例では、コピー先は Parquet ファイルとして Azure Data Lake Storage (Gen2) です。
パイプラインを実行する
パイプラインを実行して、Fabric Lakehouse テーブルから ADLS Gen2 の Parquet ファイルにデータを移動します。
ADLS Gen2 で Parquet ファイルを検査する
Fabric Lakehouse テーブルのデータは、ADLS Gen2 で Parquet ファイルとして使用できるようになりました。
まとめ
このセクションでは、Microsoft Fabric Lakehouse へのサービス プリンシパル認証を使用した Lakehouse Connector の要件について説明した後、Azure Data Factory パイプラインから Lakehouse に対する読み取りと書き込みの両方の例について説明しました。 このコネクタと機能は、Azure Data Factory マッピング データ フロー、Azure Synapse Analytics、Azure Synapse Analytics マッピング データ フローでも使用できます。