Fabric で顧客データを操作する
Microsoft Fabric OneLake は、組織全体の統合された論理データ レイクであり、すべての分析データの単一の場所として設計されています。 すべての Microsoft Fabric テナントに自動的に付属し、Azure Data Lake Storage (ADLS) Gen2 上に構築されます。 OneLake では、構造化または非構造化の任意の種類のファイルがサポートされ、すべての表形式データが Delta Parquet 形式で格納されます。 テナントの境界内でのコラボレーションのために、デフォルトで分散所有権を持つ単一のデータ レイクを提供することで、異なるビジネス グループ間でのコラボレーションが可能になります。 テナント内のワークスペースを使用すると、組織のさまざまな部分で所有権とアクセス ポリシーを配布でき、OneLake 内のすべてのデータに Lakehouse や Warehouse などの データ項目を介してアクセスできます。 データ ストアに関しては、OneLake は、インジェスト、変換、リアルタイム分析情報、ビジネス インテリジェンスの視覚化のための共通の保存場所として機能します。 さまざまなファブリックサービスを一元化し、ファブリック内のすべてのワークロードによって消費されるデータ項目のストレージとなります。
Microsoft Fabric Eventhouse は、特にリアルタイム分析シナリオで、大量のデータを処理および分析するためのスケーラブルなソリューションを提供します。 Eventhouses はリアルタイム データ ストリームを効率的に管理し、組織はデータをほぼリアルタイムで取り込み、処理、分析できます。 これらはタイムリーな分析情報を必要とするシナリオに最適であり、半構造化およびフリー テキスト分析に適したエンジンです。 Eventhouse は、複数のデータベースを一度に管理することで、プロジェクト間で共有し、パフォーマンスとコストを最適化できるデータベースのワークスペースです。 Eventhouses では、複数のソースと形式のデータがサポートされ、インジェスト時間に基づいてデータのインデックス作成とパーティション分割が自動的に行われます。
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
でアクセス トークンを取得する必要があります。 SQLConnectionクラスで検証するためには、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
}
}
ここで、"ConnectionInfo" プロパティは、Warehouse 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 名前空間のドキュメントを参照してください。
Eventhouse API
認証したら、Eventhouse の作成、Eventhouse の削除、Eventhouse の一覧の取得などのアクションを実行できます。それを行う 1 つの方法は、ポータルを使用することです - Eventhouse の概要。
もう 1 つの方法は、Eventhouse Rest API Eventhouse Rest API の概要を使用することです。
- 許可する。
- ユーザーに代わって、フロントエンドから渡されたベアラートークンを使用して、FabricEventhouse.Read.All スコープを持つトークンを取得します。
- Fabric トークンを使用して、Get Eventhouse APIを呼び出します。
- 次に、Eventhouse のデータベースの一覧を使用して、以下の「データのクエリ」セクションで説明するように、必要な特定の DB に対してクエリを実行できます。
データのクエリ
Eventhouse KQL データベースからデータを照会するには、次の手順に従います。最初に、適切な方法を使用して認証します。 次に、Eventhouse に接続してデータベースの一覧を取得します。 次に、アクセスする特定のデータベースにクエリを実行します。
.show tables
などのクエリ コマンドと、<TableName> | take 10
などのデータ クエリを区別することが重要です。 KQL REST API の完全なドキュメントについては、KQL REST API のドキュメント 参照してください。
もう 1 つの方法は、Eventhouse Rest API Eventhouse Rest API の概要を使用することです。
- 許可する。
- フロントエンドから渡されたベアラー トークン 使用して、ユーザーに代わって KQLDatabase.ReadWrite.All スコープを持つトークンを取得します。
- Kql トークンを使用して、KQL Rest APIを呼び出します。
データの書き込み
トークンを使用してデータを読み取るだけでなく、ADLS API を使用して、 Delta Lake プロトコルで説明されているようにテーブルにデータを書き込むこともできます。
API を使用して、ファイルとディレクトリを作成することもできます。
または、他の Fabric ワークロードを使用して、プラットフォームにデータを書き込むことができます。 たとえば、Fabric のLakehouse ワークロード API を使用して、一般的なファイルの種類を最適化された Delta テーブルに効率的に読み込むことができます。 これは、Tables - Load Table API エンドポイントに POST リクエストを送信することによって行われます。
SQL 接続を使用して、テーブルにデータを挿入するコマンドを実行することもできます。