Microsoft OneLake への接続

Microsoft OneLake は、既存の Azure Datalake Storage (ADLS) Gen2 API と SDK を通して、Fabric アイテムのすべてに対するオープン アクセスを提供します。 ADLS Gen2 と互換性のある任意の API、SDK、ツールを使用し、URI を OneLake URI にするだけで、OneLake 内のデータにアクセスできます。 Azure Storage Explorer を通してレイクハウスにデータをアップロードしたり、Azure Databricks からショートカットを通してデルタ テーブルを読み取ったりできます。

OneLake はサービスとしてのソフトウェア (SaaS) であるため、アクセス許可の管理やアイテムの更新などの一部の操作は、ADLS Gen2 API の代わりに Fabric エクスペリエンスを通じて行う必要があります。 API に加えられたすべての変更点の一覧は、「OneLake API パリティ」を参照してください。

URI 構文

OneLake は Microsoft Fabric テナント全体にわたって存在するため、次のようにワークスペース、アイテム、パスによってテナント内のどんなものも参照できます。

https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<itemtype>/<path>/<fileName>

Note

アイテム名は複数のアイテムの種類にわたって再利用できるため、拡張子内でアイテムの種類を指定する必要があります。 たとえば、 .lakehouse がレイクハウスで、.datawarehouse がウェアハウスなどという具合です。

OneLake では、グローバル一意識別子 (GUID) を使用したワークスペースとアイテムの参照もサポートされています。 OneLake が GUID の割り当てを行い、GUID はワークスペースまたはアイテムの名前が変化しても変化しません。 ワークスペースまたはアイテムに関連付けられている GUID は、Fabric ポータルの URL で確認できます。 GUID はワークスペースとアイテムの両方に対して使用する必要があり、アイテムの種類は必要ありません。

https://onelake.dfs.fabric.microsoft.com/<workspaceGUID>/<itemGUID>/<path>/<fileName>

ADLS Gen2 の代わりに OneLake 経由で使用するツールを採用する場合は、次のマッピングを使用します。

  • アカウント名は常に onelake です。
  • コンテナー名はワークスペース名です。
  • データ パスはアイテムから始まります。 (例: /mylakehouse.lakehouse/Files/)。

OneLake では、ADLS Gen2 と Azure Blob Storage の互換性をさらに高める Azure Blob File System ドライバー (ABFS) もサポートされています。 ABFS ドライバーは、その独自のスキーム識別子 abfs と、別の URI 形式を使用して、ADLS Gen2 アカウント内のファイルとディレクトリを指定します。 OneLake でこの URI 形式を使用するには、ファイルシステム用のワークスペースを入れ替えて、そのアイテムとアイテムの種類を含めます。

abfs[s]://<workspace>@onelake.dfs.fabric.microsoft.com/<item>.<itemtype>/<path>/<fileName>

abfs ドライバー URI では、ワークスペース名にスペースなどの特殊文字を使用できません。 このような場合は、このセクションで前述したように、グローバル一意識別子 (GUID) を使用してワークスペースとアイテムを参照できます。

承認

認証ヘッダーをパススルーすることで、Microsoft Entra ID を使用して OneLake API を認証できます。 トークンのパススルーを有効にするためにツールが Azure アカウントへのログインをサポートしている場合は、任意のサブスクリプションを選択できます。 OneLake はユーザー トークンのみを必要とし、Azure サブスクリプションについては考慮しません。

DFS API を介して OneLake を直接呼び出す場合は、Microsoft Entra アカウントのベアラー トークンを使用して認証できます。 組織のベアラー トークンの要求と管理の詳細については、「Microsoft 認証ライブラリ」を参照してください。

直接 API 呼び出しを使用して迅速かつアドホックに OneLake をテストするために、次の簡単な例では、PowerShell を使用して Azure アカウントにサインインし、ストレージスコープのトークンを取得して、そのトークンを他の場所で簡単に使用できるようにクリップボードにコピーします。 PowerShell を使用してアクセス トークンを取得する方法の詳細については、「Get-AzAccessToken」を参照してください。

Note

OneLake では Storage オーディエンスのトークンのみサポートされています。 次の例では、ResourceTypeName パラメーターでオーディエンスを設定しています。

Connect-AzAccount
$testToken = Get-AzAccessToken -ResourceTypeName Storage
# Retrieved token is of string type which you can validate with the "$testToken.Token.GetTypeCode()" command.
$testToken.Token | Set-Clipboard

データの保存場所

ワークスペースのリージョンとは異なるリージョンのデータのクエリするためにグローバル エンドポイント ('https://onelake.dfs.fabric.microsoft.com`) を使用すると、エンドポイント解決プロセス中にデータがリージョンから離れる可能性があります。 データ所在地に懸念がある場合は、ワークスペースにとって適切なリージョン エンドポイントを使用することで、データが現在のリージョン内に留まりリージョンの境界を越えないことが保証されます。 ワークスペースがアタッチされている容量のリージョンを確認することで、適切なリージョン エンドポイントを見つけることができます。

OneLake リージョン エンドポイントはすべて同じ形式 (https://<region>-onelake.dfs.fabric.microsoft.com) に従います。 たとえば、米国西部リージョンの容量にアタッチされたワークスペースは、リージョン エンドポイント https://westus-onelake.dfs.fabric.microsoft.com を通してアクセスできます。

一般的な問題

ADLS Gen2 と互換性のあるツールやパッケージが OneLake で動作しない場合、最も一般的な原因と考えられるのは URL 検証の問題です。 OneLake で使用するエンドポイント (dfs.fabric.microsoft.com) は、ADLS Gen2 のエンドポイント (dfs.core.windows.net) と異なるため、ツールによっては、OneLake エンドポイントが認識されずブロックされる場合があります。 一部のツール (PowerShell など) ではカスタム エンドポイントを使用できます。 その他のツールでも、多くの場合は、簡単な修正操作で OneLake のエンドポイントを対応エンドポイントに追加できます。 OneLake への接続に関して、URL 検証の問題やその他の問題が発生した場合は、お知らせください

サンプル

ファイルを作成する

Request PUT https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemtype}/Files/sample?resource=file
ヘッダー Authorization: Bearer <userAADToken>
回答 ResponseCode: 201 Created
ヘッダー:
x-ms-version : 2021-06-08
x-ms-request-id : 272526c7-0995-4cc4-b04a-8ea3477bc67b
x-ms-content-crc64 : OAJ6r0dQWP0=
x-ms-request-server-encrypted : true
ETag : 0x8DA58EE365
本文は次のようになります。