Dela via


OneLake och Azure Data Lake Storage (ADLS) Gen2 API-paritet

OneLake stöder samma API:er som Azure Data Lake Storage (ADLS) Gen2, vilket gör det möjligt för användare att läsa, skriva och hantera sina data i OneLake med de verktyg som de redan använder idag. Eftersom OneLake är en hanterad, logisk datasjö hanteras vissa funktioner på ett annat sätt än i Azure Storage, och alla beteenden stöds inte över OneLake. Den här sidan beskriver dessa skillnader, inklusive OneLake-hanterade mappar, API-skillnader och öppen källkod kompatibilitet.

Hanterade OneLake-mappar

Arbetsytorna och dataobjekten i fabric-klientorganisationen definierar strukturen för OneLake. Hantering av arbetsytor och objekt sker via infrastrukturresurser – OneLake har inte stöd för att skapa, uppdatera eller ta bort arbetsytor eller objekt via ADLS Gen2-API:erna. OneLake tillåter endast HEAD-anrop på arbetsytans (container)-nivå och klientnivå (konto), eftersom du måste göra ändringar i klientorganisationen och arbetsytorna i infrastrukturadministrationsportalen.

OneLake tillämpar också en mappstruktur för Infrastrukturobjekt, vilket skyddar objekt och deras hanterade undermappar från att skapa, ta bort eller byta namn via ADLS Gen2-API:er. Infrastrukturhanterade mappar innehåller mappen på den översta nivån i ett objekt (till exempel /MyLakehouse.lakehouse) och den första nivån av mappar i det (till exempel /MyLakehouse.lakehouse/Files och /MyLakehouse.lakehouse/Tables).

Du kan utföra CRUD-åtgärder på valfri mapp eller fil som skapats i dessa hanterade mappar och utföra skrivskyddade åtgärder på arbetsytor och objektmappar.

Begärandehuvuden och parametrar som inte stöds

Även i användarskapade filer och mappar begränsar OneLake vissa infrastrukturhanteringsåtgärder via ADLS Gen2-API:er. Du måste använda infrastrukturresurser för att uppdatera behörigheter eller redigera objekt och arbetsytor, och Fabric hanterar andra alternativ, till exempel åtkomstnivåer.

OneLake accepterar nästan alla samma rubriker som ADLS Gen2 och ignorerar bara vissa rubriker som relaterar till icke-utelämnade åtgärder på OneLake. Eftersom dessa huvuden inte ändrar beteendet för hela anropet ignorerar OneLake de förbjudna rubrikerna, returnerar dem i ett nytt svarshuvud för "x-ms-rejected-headers" och tillåter resten av anropet. Till exempel ignorerar OneLake parametern "x-ms-owner" i ett PUT-anrop eftersom Fabric och OneLake inte har samma koncept för att äga användare som Azure Storage.

OneLake avvisar begäranden som innehåller otillåtna frågeparametrar eftersom frågeparametrar ändrar beteendet för hela anropet. Till exempel blockeras UPDATE-anrop med parametern "setAccessControl" eftersom OneLake aldrig stöder inställning av åtkomstkontroll via Azure Storage-API:er.

OneLake tillåter inte följande beteenden och deras associerade begärandehuvuden och URI-parametrar:

  • Ange åtkomstkontroll
    • URI-parameter:
      • åtgärd: setAccessControl (begäran avvisades)
      • åtgärd: setAccessControlRecursive (begäran avvisades)
    • Begärandehuvuden:
      • x-ms-owner (sidhuvud ignoreras)
      • x-ms-group (sidhuvud ignoreras)
      • x-ms-permissions (huvudet ignoreras)
      • x-ms-group (sidhuvud ignoreras)
      • x-ms-acls (Sidhuvud ignoreras)
  • Ange krypteringsomfång
    • Begärandehuvuden:
      • x-ms-encryption-key (huvudet ignoreras)
      • x-ms-encryption-key (huvudet ignoreras)
      • x-ms-encryption-algorithm:AES256 (huvudet ignoreras)
  • Ange åtkomstnivå
    • Begärandehuvuden:
      • x-ms-access-tier (Sidhuvud ignoreras)

Skillnader i svarshuvud

Eftersom OneLake använder en annan behörighetsmodell än ADLS Gen2 hanteras svarshuvuden relaterade till behörigheter på olika sätt:

  • "x-ms-owner" och "x-ms-group" returnerar alltid "$superuser" eftersom OneLake inte har ägande användare eller grupper
  • "x-ms-permissions" returnerar alltid "---------" eftersom OneLake inte har ägande användare, grupper eller behörigheter för offentlig åtkomst
  • "x-ms-acl" returnerar fabric-behörigheterna för den anropande användaren som konverterats till en POSIX-åtkomstkontrollista (ACL), i formuläret "rwx"

Integrering med öppen källkod

Eftersom OneLake stöder samma API:er som ADLS Gen2 fungerar många öppen källkod bibliotek och paket som är kompatibla med ADLS Gen2 sömlöst med OneLake. Andra bibliotek kan kräva små uppdateringar för att hantera OneLake-slutpunkter eller andra kompatibilitetsproblem. Följande bibliotek bekräftas vara kompatibla med OneLake på grund av de senaste ändringarna. Den här listan är inte fullständig:

Exempel

Visa en lista över objekt i en arbetsyta

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

Skapa en mapp i ett sjöhus

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