Connexion à Microsoft OneLake

Microsoft OneLake fournit un accès ouvert à tous vos éléments Fabric via les API et kits de développement logiciel (SDK) Azure Data Lake Storage (ADLS) Gen2 existants. Vous pouvez accéder à vos données dans OneLake via n'importe quelle API, SDK ou outil compatible avec ADLS Gen2 en utilisant simplement un URI OneLake. Vous pouvez charger des données dans un lakehouse via l’Explorateur Stockage Azure, ou lire une table delta à l’aide d’un raccourci à partir depuis Azure Databricks.

OneLake étant un software as a service (SaaS), certaines opérations, telles que la gestion des autorisations ou la mise à jour des éléments, doivent être effectuées via des expériences Fabric au lieu des API ADLS Gen2. Pour obtenir la liste complète des modifications apportées à ces API, consultez Parité des API OneLake.

Syntaxe d’URI

OneLake existant dans l’ensemble de votre locataire Microsoft Fabric, vous pouvez faire référence à tout ce qui se trouve dans votre locataire par son espace de travail, son élément et son chemin :

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

Remarque

Étant donné que vous pouvez réutiliser les noms d’éléments entre plusieurs types d’éléments, vous devez spécifier le type d’élément dans l’extension. Par exemple, .lakehouse pour un lakehouse et .datawarehouse pour un entrepôt.

OneLake prend également en charge le référencement d’espaces de travail et d’éléments avec des identificateurs globaux uniques (GUID). OneLake affecte des GUID, et les GUID ne changent pas même si le nom de l’espace de travail ou de l’élément change. Vous trouverez le GUID associé à votre espace de travail ou élément dans l’URL sur le portail Fabric. Vous devez utiliser des GUID pour l’espace de travail et l’élément, et vous n’avez pas besoin du type d’élément.

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

Lors de l’adoption d’un outil à utiliser sur OneLake au lieu d’ADLS Gen2, utilisez le mappage suivant :

  • Le nom du compte est toujours onelake.
  • Le nom du conteneur est le nom de votre espace de travail.
  • Le chemin d’accès aux données commence à l’élément. Par exemple : /mylakehouse.lakehouse/Files/.

OneLake prend également en charge le pilote Azure Blob Filesystem (ABFS) pour plus de compatibilité avec ADLS Gen2 et Stockage Blob Azure. Le pilote ABFS utilise son propre identificateur de schéma abfs et un autre format d’URI pour traiter les fichiers et les répertoires dans les comptes ADLS Gen2. Pour utiliser ce format d’URI sur OneLake, échangez l’espace de travail pour le système de fichiers et incluez l’élément et le type d’élément.

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

L'URI du pilote abfs n'autorise pas les caractères spéciaux, tels que les espaces, dans le nom de l'espace de travail. Dans ce cas, vous pouvez référencer les espaces de travail et les éléments à l'aide des identifiants uniques globaux (GUID) décrits plus haut dans cette section.

Autorisation

Vous pouvez authentifier des API OneLake en tirant parti de Microsoft Entra ID via le passage d’un en-tête d’autorisation. Si un outil prend en charge la connexion à votre compte Azure pour activer la transmission de jeton, vous pouvez sélectionner n’importe quel abonnement. OneLake nécessite uniquement votre jeton d’utilisateur sans se préoccuper de votre abonnement Azure.

Lorsque vous appelez OneLake directement via des API DFS, vous pouvez vous authentifier avec un jeton du porteur pour votre compte Microsoft Entra. Pour obtenir plus d’informations sur la demande et la gestion de jetons du porteur pour votre organisation, consultez la Bibliothèque d’authentification Microsoft.

Pour effectuer des tests ad hoc et rapides de OneLake en utilisant des appels d’API directs, voici un exemple simple utilisant PowerShell pour vous connecter à votre compte Azure, récupérer un jeton étendu au stockage et le copier dans votre Presse-papiers pour pouvoir l’utiliser facilement ailleurs. Pour plus d’informations sur la récupération des jetons d’accès à l’aide de PowerShell, consultez Get-AzAccessToken.

Remarque

OneLake ne prend en charge que les jetons de l'audience Storage. Dans l’exemple suivant, nous définissons l’audience par le biais du paramètre 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

Résidence des données

Si vous utilisez le point de terminaison global (« https://onelake.dfs.fabric.microsoft.com ») pour interroger des données dans une région différente de celle de votre espace de travail, il est possible que les données quittent votre région pendant le processus de résolution du point de terminaison. Si la résidence des données vous préoccupe, l’utilisation du point de terminaison régional approprié pour votre espace de travail garantit que vos données restent dans leur région actuelle et ne franchissent aucune limite régionale. Vous pouvez découvrir le point de terminaison régional correct en vérifiant la région de la capacité à laquelle l’espace de travail est attaché.

Les points de terminaison régionaux OneLake suivent tous le même format : https://<region>-onelake.dfs.fabric.microsoft.com. Par exemple, un espace de travail attaché à une capacité dans la région USA Ouest serait accessible via le point de terminaison régional https://westus-onelake.dfs.fabric.microsoft.com.

Problèmes courants

Si un outil ou un paquet compatible avec ADLS Gen2 ne fonctionne pas sur OneLake, le problème le plus courant est la validation de l’URL. Comme OneLake utilise un autre point de terminaison (dfs.fabric.microsoft.com) qu’ADLS Gen2 (dfs.core.windows.net), certains outils ne reconnaissent pas le point de terminaison OneLake et le bloquent. Certains outils vous permettent d'utiliser des points de terminaison personnalisés (comme PowerShell). Sinon, il suffit souvent d'ajouter le point de terminaison de OneLake comme point de terminaison pris en charge. Si vous rencontrez un problème de validation d’URL ou si vous rencontrez d’autres problèmes de connexion à OneLake, dites-le nous.

Exemples

Créer un fichier

Requête PUT https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemtype}/Files/sample?resource=file
En-têtes Authorization: Bearer <userAADToken>
Response ResponseCode: 201 Created
En-têtes :
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
Corps :