Del via


Api-paritet for OneLake og Azure Data Lake Storage (ADLS) Gen2

OneLake understøtter de samme API'er som Azure Data Lake Storage (ADLS) Gen2, så brugerne kan læse, skrive og administrere deres data i OneLake med de værktøjer, de allerede bruger i dag. Da OneLake er en administreret, logisk datasø, administreres nogle funktioner anderledes end i Azure Storage, og ikke alle funktionsmåder understøttes via OneLake. På denne side beskrives disse forskelle, herunder OneLake-administrerede mapper, API-forskelle og åben kildekode kompatibilitet.

Administrerede OneLake-mapper

Arbejdsområderne og dataelementerne i din Fabric-lejer definerer strukturen af OneLake. Administration af arbejdsområder og elementer sker via Fabric-oplevelser – OneLake understøtter ikke oprettelse, opdatering eller sletning af arbejdsområder eller elementer via ADLS Gen2-API'erne. OneLake tillader kun HEAD-kald på arbejdsområdeniveau (objektbeholder) og lejerniveau (konto), da du skal foretage ændringer af lejeren og arbejdsområderne på Fabric-administrationsportalen.

OneLake gennemtvinger også en mappestruktur for Fabric-elementer og beskytter elementer og deres administrerede undermapper mod oprettelse, sletning eller omdøbning via ADLS Gen2-API'er. Fabric-administrerede mapper omfatter mappen på øverste niveau i et element (f.eks . /MyLakehouse.lakehouse) og det første niveau af mapper i det (f.eks . /MyLakehouse.lakehouse/Files og /MyLakehouse.lakehouse/Tables).

Du kan udføre CRUD-handlinger på en hvilken som helst mappe eller fil, der er oprettet i disse administrerede mapper, og udføre skrivebeskyttede handlinger på arbejdsområde- og elementmapper.

Ikke-understøttede anmodningsheadere og -parametre

Selv i brugeroprettede filer og mapper begrænser OneLake nogle Fabric-administrationshandlinger via ADLS Gen2-API'er. Du skal bruge Fabric-oplevelser til at opdatere tilladelser eller redigere elementer og arbejdsområder, og Fabric administrerer andre indstillinger, f.eks. adgangsniveauer.

OneLake accepterer næsten alle de samme overskrifter som ADLS Gen2 og ignorerer kun nogle headere, der er relateret til handlinger, der ikke er angivet på OneLake. Da disse headere ikke ændrer funktionsmåden for hele opkaldet, ignorerer OneLake de forbudte headere, returnerer dem i en ny svarheader med 'x-ms-afvist-headers' og tillader resten af opkaldet. OneLake ignorerer f.eks. parameteren 'x-ms-owner' i et PUT-kald, da Fabric og OneLake ikke har samme koncept om at eje brugere som Azure Storage.

OneLake afviser anmodninger, der indeholder ikke-tilladte forespørgselsparametre, da forespørgselsparametre ændrer funktionsmåden for hele kaldet. Opdateringskald med parameteren 'setAccessControl' blokeres f.eks., da OneLake aldrig understøtter indstilling af adgangskontrol via Azure Storage-API'er.

OneLake tillader ikke følgende funktionsmåder og deres tilknyttede anmodningsheadere og URI-parametre:

  • Angiv adgangskontrol
    • URI-parameter:
      • action: setAccessControl (anmodning afvist)
      • action: setAccessControlRecursive (anmodning afvist)
    • Anmodningsheadere:
      • x-ms-owner (header ignoreres)
      • x-ms-group (header ignoreres)
      • x-ms-tilladelser (header ignoreres)
      • x-ms-group (header ignoreres)
      • x-ms-acls (header ignoreres)
  • Angiv krypteringsområde
    • Anmodningsheadere:
      • x-ms-encryption-key (header ignoreres)
      • x-ms-encryption-key (header ignoreres)
      • x-ms-encryption-algorithm:AES256 (header ignoreres)
  • Angiv adgangsniveau
    • Anmodningsheadere:
      • x-ms-access-tier (header ignoreres)

Forskelle i svarheader

Da OneLake bruger en anden tilladelsesmodel end ADLS Gen2, håndteres svarheadere, der er relateret til tilladelser, forskelligt:

  • 'x-ms-owner' og 'x-ms-group' returnerer altid '$superuser', da OneLake ikke har egne brugere eller grupper
  • 'x-ms-permissions' returnerer altid '---------', da OneLake ikke har tilladelser til at eje brugere, grupper eller offentlig adgang
  • 'x-ms-acl' returnerer Fabric-tilladelserne for den kaldende bruger, der er konverteret til en POSIX-adgangskontrolliste (ACL) i formatet 'rwx'

Integration med åben kildekode

Da OneLake understøtter de samme API'er som ADLS Gen2, fungerer mange åben kildekode biblioteker og pakker, der er kompatible med ADLS Gen2, problemfrit med OneLake. Andre biblioteker kan kræve små opdateringer for at imødekomme OneLake-slutpunkter eller andre kompatibilitetsproblemer. Følgende biblioteker er bekræftet som kompatible med OneLake på grund af de seneste ændringer. Denne liste er ikke udtømmende:

Eksempler

Vis elementer i et arbejdsområde

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

Opret en mappe i et lakehouse

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