Api-paritet för OneLake och Azure Data Lake Storage (ADLS)
OneLake har stöd för samma API:er som Azure Data Lake Storage (ADLS) och Azure Blob Storage, 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-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- och Blob-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 hanteringsåtgärder för infrastrukturresurser via ADLS-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 Storage men ignorerar endast vissa rubriker som rör otillåtna å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)
- URI-parameter:
- Ange krypteringsomfång
- Begärandehuvuden:
- x-ms-encryption-key (huvudet ignoreras)
- x-ms-encryption-key (huvudet ignoreras)
- x-ms-encryption-algorithm:AES256 (huvudet ignoreras)
- Begärandehuvuden:
- Ange åtkomstnivå
- Begärandehuvuden:
- x-ms-access-tier (Sidhuvud ignoreras)
- Begärandehuvuden:
Skillnader i svarshuvud
Eftersom OneLake använder en annan behörighetsmodell än ADLS 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 och Blob Storage fungerar många bibliotek och paket med öppen källkod som är kompatibla med ADLS och Blob Storage sömlöst med OneLake (till exempel Azure Storage Explorer). 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 (ADLS)
GET https://onelake.dfs.fabric.microsoft.com/myWorkspace?resource=filesystem&recursive=false
Visa en lista över objekt i en arbetsyta (blob)
GET https://onelake.blob.fabric.microsoft.com/myWorkspace?restype=container&comp=list&delimiter=%2F
Skapa en mapp i ett sjöhus (ADLS)
PUT https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/newFolder/?resource=directory
Hämta blobegenskaper (Blob)
HEAD https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/file.txt