Share via


Paridad de la API de OneLake y Azure Data Lake Storage (ADLS) Gen2

OneLake admite las mismas API que Azure Data Lake Storage (ADLS) Gen2, lo que permite a los usuarios leer, escribir y administrar sus datos en OneLake con las herramientas que ya usan actualmente. Dado que OneLake es un lago de datos lógico administrado, algunas características se administran de forma diferente que en Azure Storage y no todos los comportamientos se admiten en OneLake. En esta página se detallan estas diferencias, incluidas las carpetas administradas de OneLake, las diferencias de API y la compatibilidad de código abierto.

Carpetas de OneLake administradas

Las áreas de trabajo y los elementos de datos del inquilino de Fabric definen la estructura de OneLake. La administración de áreas de trabajo y elementos se realiza a través de experiencias de Fabric: OneLake no admite la creación, actualización ni eliminación de áreas de trabajo o elementos a través de las API de ADLS Gen2. OneLake solo permite llamadas HEAD en el nivel de área de trabajo (contenedor) e inquilino (cuenta), ya que debe realizar cambios en el inquilino y en las áreas de trabajo en el portal de administración de Fabric.

OneLake también aplica una estructura de carpetas para los elementos de Fabric, protegiendo así a los elementos y a sus subcarpetas administradas de la creación, eliminación o cambio de nombre mediante las API de ADLS Gen2. Las carpetas administradas por Fabric incluyen la carpeta de nivel superior de un elemento (por ejemplo, /MyLakehouse.lakehouse) y el primer nivel de carpetas dentro de ella (por ejemplo, /MyLakehouse. lakehouse/Files y /MyLakehouse.lakehouse/Tables).

Puede realizar operaciones CRUD en cualquier carpeta o archivo creado dentro de estas carpetas administradas y realizar operaciones de solo lectura en carpetas de elementos y áreas de trabajo.

Encabezados y parámetros de solicitud no admitidos

Incluso en los archivos y carpetas creados por los usuarios, OneLake restringe algunas operaciones de administración a través de las API de ADLS Gen2. Debe usar experiencias de Fabric para actualizar permisos o editar elementos y áreas de trabajo, y Fabric administra otras opciones, como los niveles de acceso.

OneLake acepta casi todos los mismos encabezados que ADLS Gen2, ignorando solo algunos encabezados relacionados con acciones no confirmadas en OneLake. Dado que estos encabezados no modifican el comportamiento de toda la llamada, OneLake omite los encabezados prohibidos, los devuelve en un nuevo encabezado de respuesta "x-ms-rejected-headers" y permite el resto de la llamada. Por ejemplo, OneLake omite el parámetro "x-ms-owner" en una llamada PUT, ya que Fabric y OneLake no tienen el mismo concepto de usuarios propietarios que Azure Storage.

OneLake rechaza las solicitudes que contienen parámetros de consulta no permitidos, ya que los parámetros de consulta cambian el comportamiento de toda la llamada. Por ejemplo, las llamadas UPDATE con el parámetro "setAccessControl" se bloquean, ya que OneLake nunca admite la configuración del control de acceso a través de las API de Azure Storage.

OneLake no permite los siguientes comportamientos y sus encabezados de solicitud asociados y parámetros de URI:

  • Establecimiento del control de acceso
    • Parámetro de URI:
      • action: setAccessControl (solicitud rechazada)
      • action: setAccessControlRecursive (solicitud rechazada)
    • Encabezados de solicitud:
      • x-ms-owner (encabezado omitido)
      • x-ms-group (encabezado omitido)
      • x-ms-permissions (encabezado omitido)
      • x-ms-group (encabezado omitido)
      • x-ms-acls (encabezado omitido)
  • Establecimiento del ámbito de cifrado
    • Encabezados de solicitud:
      • x-ms-encryption-key (encabezado omitido)
      • x-ms-encryption-key (encabezado omitido)
      • x-ms-encryption-algorithm:AES256 (encabezado omitido)
  • Establecimiento del nivel de acceso
    • Encabezados de solicitud:
      • x-ms-access-tier (encabezado omitido)

Diferencias de encabezado de respuesta

Dado que OneLake usa un modelo de permisos diferente al de ADLS Gen2, hay cambios en los encabezados de respuesta relacionados con los permisos:

  • "x-ms-owner" y "x-ms-group" siempre devuelven "$superuser", ya que OneLake no tiene usuarios o grupos propietarios
  • "x-ms-permissions" siempre devuelve "---------", ya que OneLake no tiene permisos de acceso público, grupos o usuarios propietarios
  • "x-ms-acl" devuelve los permisos de Fabric para el usuario que realiza la llamada convertido en una lista de control de acceso (ACL) POSIX, con el formato "rwx".

Integración de código abierto

Dado que OneLake admite las mismas API que ADLS Gen2, muchas bibliotecas y paquetes de código abierto compatibles con ADLS Gen2 funcionan sin problemas con OneLake. Otras bibliotecas pueden requerir pequeñas actualizaciones para dar cabida a los puntos de conexión de OneLake u otros problemas de compatibilidad. Se confirma que las bibliotecas siguientes son compatibles con OneLake debido a cambios recientes. Esta lista no es exhaustiva:

Ejemplos

Enumerar elementos dentro de un área de trabajo

GET https://onelake.dfs.fabric.microsoft.com/myWorkspace?resource=filesystem&recursive=false

Creación de una carpeta dentro de un lago de datos

PUT https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/newFolder/?resource=directory