Fabric で顧客データを操作する
Microsoft Fabric OneLake は、組織全体の統合された論理データ レイクであり、すべての分析データの単一の場所として設計されています。 すべての Microsoft Fabric テナントに自動的に付属し、Azure Data Lake Storage (ADLS) Gen2 上に構築されます。 OneLake では、構造化または非構造化の任意の種類のファイルがサポートされ、すべての表形式データが Delta Parquet 形式で格納されます。 テナントの境界内でのコラボレーションのために、デフォルトで分散所有権を持つ単一のデータ レイクを提供することで、異なるビジネス グループ間でのコラボレーションが可能になります。 テナント内のワークスペースを使用すると、組織のさまざまな部分で所有権とアクセス ポリシーを配布でき、OneLake 内のすべてのデータに Lakehouse や Warehouse などの データ項目を介してアクセスできます。
データ ストアに関しては、OneLake は、インジェスト、変換、リアルタイム分析情報、ビジネス インテリジェンスの視覚化のための共通の保存場所として機能します。 さまざまな ファブリック サービスを一元化し、ファブリック内のすべてのワークロードで実行されるデータ項目のStorageです。
Microsoft Fabric でデータを読み書きする方法
Microsoft Fabric は、顧客データのStorageと管理を可能にするプラットフォームです。 Fabric でデータを読み書きするには、 Fabric REST API と適切な認証方法を使用する必要があります。
API アクセス許可
顧客データにアクセスする一部の方法では、Azure Storage や Azure SQL データベース など、Fabric 以外の他のサービスを使用する必要があります。 たとえば、Microsoft Fabric Developer Kit のサンプルでは、API アクセス許可 Azure Storage user_impersonation
が Power BI サービスの Lakehouse.Read.All アクセス許可と組み合わせて使用され、Lakehouse からデータにアクセスします。
Azure SQL データベース を使用して、Warehouse アイテムからテーブル データにアクセスできます。 この場合は、Azure SQL データベース user_impersonation
を使用してアプリを構成し、ユーザーに代わってデータベースに対してクエリを実行し、Warehouse.Read.All Power BI サービスして Fabric REST API Get Warehouse エンドポイントにクエリを実行します。
開発ニーズに応じて Microsoft Entra ID アプリを構成してください。
認証
ユーザーの代わりに、Fabric REST API または Azure Storage や Azure SQL データベース などの他のサービスの使用を開始する前に、トークンを使用して認証する必要があります。 このトークンは、トークン交換プロセスを通じて取得できます。
Fabric ワークロード開発キット SDK には、ワークロード フロントエンドでアクセス トークンを取得するためのメソッドが用意されています。 たとえば、「 サンプル ワークロード コントローラー」を参照してください。
このクライアント トークンは、ワークロード バックエンドに渡され、OneLake などの必要なリソースにアクセスするために必要なスコープを持つトークンの代理フローを使用して交換される必要があります。 たとえば、Lakehouse にアクセスして読み取るには、ユーザーは Azure Storage user_impersonation
アクセス許可を使用して、アプリケーションが自分に代わって API 呼び出しを行うことを許可する必要があります。 次に、バックエンドで、Azure Storage を使用するために、委任されたスコープ https://storage.azure.com/user_impersonation
を使用してアクセス トークンを取得する必要があります。
SQL を使用して顧客データにアクセスする場合は、Azure SQL データベース と Microsoft.Data.SqlClient 名前空間を使用するスコープ https://database.windows.net//user_impersonation
でアクセス トークンを取得する必要があります。 SQL接続ion クラスで検証するには、 user_impersonation
の前に 2 つのスラッシュを使用して、書き込まれたとおりにアクセス トークンを使用する必要があります。
トークン認証のその他の例については、Microsoft Fabric 開発キットのサンプルを参照してください。
トークンを取得する方法の詳細については、Microsoft Fabric ワークロード開発 REST API のドキュメントを 参照してください。
メタデータの読み取り
Fabric REST API は、アイテムのプロパティにアクセスする方法を提供します。 たとえば、Get Lakehouse API のクエリを実行すると、OneLake パスや SQL 接続文字列などの便利なプロパティなど、特定のLakehouseのメタデータが提供されます。 もう 1 つの便利なエンドポイントは、次の情報を返す Get Warehouse API です。
{
Id: Guid
Type: string
DisplayName: string
Description: string
WorkspaceId: Guid
Properties {
ConnectionInfo: string
CreatedDate: DateTime
LastUpdatedTime: DateTime
}
}
ここで、"接続ionInfo" プロパティは、ウェアハウス SQL Server の完全修飾ドメイン名 (FQDN) です。 この FQDN を使用すると、SQL 接続を確立できます。 詳細については、「Microsoft Fabric のデータ ウェアハウスへの接続」を参照してください。 実装例については、Microsoft Fabric ワークロード開発キット を参照してください。
データの読み取り
認証が完了したら、Azure Data Lake Storage REST API を使用して OneLake に接続して、さまざまな種類のデータを読み取ることができます。 テーブルを読み取るには、 Delta Lake プロトコル を使用することをおすすめします。
または、Azure SQL データベース を使用する場合は、次の手順を実装してウェアハウスからデータを読み取ることができます。
承認コンテキストを作成します。 承認コンテキストを作成する例については、 AuthenticateDataPlaneCall メソッドを参照してください。
フロントエンドから渡されたベアラー トークンを使用して、ユーザーに代わって Warehouse.Read.All スコープを持つトークンを取得します。
Fabric トークンを使用して、Get Warehouse API を呼び出します。 接続情報と、サーバーの初期カタログであるウェアハウスの表示名にアクセスする必要があります。
ユーザーに代わって SQL スコープを持つトークンを取得します。 SQL 接続を正常に確立するには、スコープ
https://database.windows.net//user_impersonation
を使用します。SQL トークンと接続情報を使用して、SQL 接続を開きます。
private SqlConnection GetSqlConnection(string token, string databaseFqdn, string initialCatalog) { var builder = new SqlConnectionStringBuilder(); builder.DataSource = databaseFqdn; // ConnectionInfo from Get Warehouse API builder.InitialCatalog = initialCatalog; //display name of the Warehouse builder.ConnectTimeout = 120; var connection = new SqlConnection(); connection.AccessToken = token; // SQL token acquired with the Azure SQL Database user_impersonation scope connection.ConnectionString = builder.ConnectionString; connection.Open(); return connection; }
この接続を照会して、ウェアハウスからのデータにアクセスできるようになりました。 Microsoft.Data.SqlClient 名前空間の使用方法の詳細については、Microsoft.Data.SqlClient 名前空間のドキュメントを参照してください。
データの書き込み
トークンを使用してデータを読み取るだけでなく、ADLS API を使用して、 Delta Lake プロトコルで説明されているようにテーブルにデータを書き込むこともできます。
API を使用して、ファイルとディレクトリを作成することもできます。
または、他の Fabric ワークロードを使用して、プラットフォームにデータを書き込むことができます。 たとえば、Fabric のLakehouse ワークロード API を使用して、一般的なファイルの種類を最適化された Delta テーブルに効率的に読み込むことができます。 これは、Tables - Load Table API エンドポイントに POST リクエストを送信することによって行われます。
SQL 接続を使用して、テーブルにデータを挿入するコマンドを実行することもできます。