Conexión a Microsoft OneLake

Microsoft OneLake proporciona acceso abierto a todos los elementos de Fabric a través de las API y los SDK de Azure Data Lake Storage (ADLS) Gen2 existentes. Puede acceder a los datos en OneLake a través de cualquier API, SDK o herramienta compatible con ADLS Gen2 simplemente mediante un URI de OneLake en su lugar. Puede cargar datos en una instancia de LakeHouse a través del Explorador de Azure Storage o leer una tabla delta a través de un acceso directo desde Azure Databricks.

Como OneLake es un software como servicio (SaaS), algunas operaciones, como la administración de permisos o la actualización de elementos, se deben realizar a través de experiencias de Fabric en vez de a través de las API de ADLS Gen2. Para obtener una lista completa de los cambios en estas API, consulte paridad de la API de OneLake.

Sintaxis de URI

Dado que OneLake existe en todo el inquilino de Microsoft Fabric, puede hacer referencia a cualquier elemento del inquilino por su área de trabajo, elemento y ruta de acceso:

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

Nota:

Dado que puede reutilizar los nombres de elementos en varios tipos de elementos, debe especificar el tipo de elemento en la extensión. Por ejemplo, .lakehouse para una lakehouse y .datawarehouse para un almacén.

OneLake también admite la referencia a áreas de trabajo y elementos con identificadores únicos globales (GUID). OneLake asigna GUID y los GUID no cambian, aunque cambie el área de trabajo o el nombre del elemento. Puede encontrar el GUID asociado para el área de trabajo o el elemento en la dirección URL del portal de Fabric. Debe usar GUID para el área de trabajo y el elemento y no necesita el tipo de elemento.

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

Al adoptar una herramienta para su uso en OneLake en lugar de ADLS Gen2, use la asignación siguiente:

  • El nombre de la cuenta siempre es onelake.
  • El nombre del contenedor es el nombre del área de trabajo.
  • La ruta de acceso de datos comienza en el elemento. Por ejemplo: /mylakehouse.lakehouse/Files/.

OneLake también admite el controlador del sistema de archivos de Azure Blob (ABFS) para obtener más compatibilidad con ADLS Gen2 y Azure Blob Storage. El controlador ABFS usa su propio identificador de esquema abfs y otro formato de URI para direccionar archivos y directorios en cuentas de ADLS Gen2. Para usar este formato de URI a través de OneLake, cambie el área de trabajo por el sistema de archivos e incluya el elemento y el tipo de elemento.

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

Authorization

Puede autenticar las API de OneLake mediante Microsoft Entra ID pasando un encabezado de autorización. Si una herramienta admite el inicio de sesión en su cuenta de Azure para habilitar el paso a través del token, puede seleccionar cualquier suscripción. OneLake solo requiere el token de usuario y no le importa la suscripción de Azure.

Al llamar directamente a OneLake a través de las API DFS, puede autenticarse con un token de portador para su cuenta de Microsoft Entra. Para obtener más información sobre cómo solicitar y administrar tokens de portador para su organización, consulte la Biblioteca de autenticación de Microsoft.

Para realizar pruebas rápidas y ad hoc de OneLake mediante llamadas API directas, este es un ejemplo sencillo con PowerShell para iniciar sesión en su cuenta de Azure, recuperar un token con ámbito de almacenamiento y copiarlo en el Portapapeles para facilitar su uso en otro lugar. Para obtener más información sobre cómo recuperar tokens de acceso mediante PowerShell, consulte Get-AzAccessToken.

Nota:

OneLake solo admite tokens en la audiencia Storage. En el ejemplo siguiente, establecemos la audiencia a través del parámetro ResourceTypeName.

az login --allow-no-subscriptions
$testToken = Get-AzAccessToken -ResourceTypeName Storage
$testToken.Token | Set-Clipboard

Residencia de datos

OneLake no garantiza actualmente la residencia de datos en una región determinada cuando se usa el punto de conexión global (https://onelake.dfs.fabric.microsoft.com). Cuando se consultan datos en una región distinta de la región del área de trabajo, existe la posibilidad de que los datos dejen la región durante el proceso de resolución de puntos de conexión. Si le preocupa la residencia de datos, el uso del punto de conexión regional correcto para el área de trabajo garantiza que los datos permanecen dentro de su región actual y no cruzan ningún límite regional. Para detectar el punto de conexión regional correcto, compruebe la región de la capacidad a la que está asociada el área de trabajo.

Todos los puntos de conexión regionales de OneLake siguen el mismo formato: https://<region>-onelake.dfs.fabric.microsoft.com. Por ejemplo, un área de trabajo asociada a una capacidad en la región Oeste de EE. UU. 2 sería accesible a través del punto de conexión regional https://westus-onelake.dfs.fabric.microsoft.com.

Problemas comunes

Si una herramienta o paquete compatible con ADLS Gen2 no funciona en OneLake, el problema más común es la validación de direcciones URL. Como OneLake usa un punto de conexión diferente (dfs.fabric.microsoft.com) que ADLS Gen2 (dfs.core.windows.net), algunas herramientas no reconocen el punto de conexión de OneLake y lo bloquean. Algunas herramientas permiten usar puntos de conexión personalizados (como PowerShell). De lo contrario, suele ser una corrección sencilla agregar el punto de conexión de OneLake como punto de conexión compatible. Si encuentra un problema de validación de direcciones URL o tiene algún otro problema al conectarse a OneLake, háganoslo saber.

Ejemplos

Crear archivo

Solicitud PUT https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemtype}/Files/sample?resource=file
Encabezados Authorization: Bearer <userAADToken>
Respuesta ResponseCode:201 Created
Encabezados:
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
Cuerpo: