Pariteit van OneLake en Azure Data Lake Storage (ADLS) Gen2-API
OneLake ondersteunt dezelfde API's als Azure Data Lake Storage (ADLS) Gen2, zodat gebruikers hun gegevens in OneLake kunnen lezen, schrijven en beheren met de hulpprogramma's die ze momenteel al gebruiken. Omdat OneLake een beheerde, logische Data Lake is, worden sommige functies anders beheerd dan in Azure Storage en worden niet alle gedragingen ondersteund via OneLake. Op deze pagina worden deze verschillen beschreven, waaronder beheerde Mappen van OneLake, API-verschillen en opensource-compatibiliteit.
Beheerde OneLake-mappen
De werkruimten en gegevensitems in uw Fabric-tenant definiƫren de structuur van OneLake. Het beheren van werkruimten en items wordt uitgevoerd via Fabric-ervaringen. OneLake biedt geen ondersteuning voor het maken, bijwerken of verwijderen van werkruimten of items via de ADLS Gen2-API's. OneLake staat alleen HEAD-aanroepen toe op het niveau van de werkruimte (container) en tenant (account), omdat u wijzigingen moet aanbrengen in de tenant en werkruimten in de beheerportal van Fabric.
OneLake dwingt ook een mapstructuur af voor Fabric-items, het beveiligen van items en de bijbehorende beheerde submappen tegen het maken, verwijderen of hernoemen via ADLS Gen2-API's. Door infrastructuur beheerde mappen bevatten de map op het hoogste niveau in een item (bijvoorbeeld /MyLakehouse.lakehouse) en het eerste niveau van mappen hierin (bijvoorbeeld /MyLakehouse.lakehouse/Files en /MyLakehouse.lakehouse/Tables).
U kunt CRUD-bewerkingen uitvoeren op elke map of elk bestand dat in deze beheerde mappen is gemaakt en alleen-lezenbewerkingen uitvoeren op werkruimte- en itemmappen.
Niet-ondersteunde aanvraagheaders en -parameters
Zelfs in door de gebruiker gemaakte bestanden en mappen beperkt OneLake sommige Fabric-beheerbewerkingen via ADLS Gen2-API's. U moet Fabric-ervaringen gebruiken om machtigingen bij te werken of items en werkruimten te bewerken, en Fabric beheert andere opties, zoals toegangslagen.
OneLake accepteert bijna alle zelfde headers als ADLS Gen2, waarbij alleen enkele headers worden genegeerd die betrekking hebben op niet-verzonden acties in OneLake. Omdat deze headers het gedrag van de hele aanroep niet wijzigen, negeert OneLake de verboden headers, retourneert deze in een nieuwe antwoordheader 'x-ms-rejected-headers' en staat de rest van de aanroep toe. OneLake negeert bijvoorbeeld de parameter 'x-ms-owner' in een PUT-aanroep omdat Fabric en OneLake niet hetzelfde concept hebben van het eigendom van gebruikers als Azure Storage.
OneLake weigert aanvragen die niet-toegestane queryparameters bevatten, omdat queryparameters het gedrag van de hele aanroep wijzigen. Update-aanroepen met de parameter setAccessControl worden bijvoorbeeld geblokkeerd omdat OneLake nooit ondersteuning biedt voor het instellen van toegangsbeheer via Azure Storage-API's.
OneLake staat het volgende gedrag en de bijbehorende aanvraagheaders en URI-parameters niet toe:
- Toegangsbeheer instellen
- URI-parameter:
- actie: SetAccessControl (aanvraag geweigerd)
- actie: SetAccessControlRecursive (aanvraag geweigerd)
- Aanvraagheaders:
- x-ms-owner (koptekst genegeerd)
- x-ms-group (koptekst genegeerd)
- x-ms-permissions (koptekst genegeerd)
- x-ms-group (koptekst genegeerd)
- x-ms-acls (koptekst genegeerd)
- URI-parameter:
- Versleutelingsbereik instellen
- Aanvraagheaders:
- x-ms-encryption-key (header genegeerd)
- x-ms-encryption-key (header genegeerd)
- x-ms-encryption-algorithm:AES256 (header genegeerd)
- Aanvraagheaders:
- Toegangslaag instellen
- Aanvraagheaders:
- x-ms-access-tier (koptekst genegeerd)
- Aanvraagheaders:
Verschillen tussen antwoordheaders
Omdat OneLake een ander machtigingsmodel gebruikt dan ADLS Gen2, worden antwoordheaders met betrekking tot machtigingen anders verwerkt:
- 'x-ms-owner' en 'x-ms-group' retourneert altijd '$superuser' omdat OneLake geen eigenaar is van gebruikers of groepen
- 'x-ms-permissions' retourneert altijd '---------' omdat OneLake geen machtigingen voor gebruikers, groepen of openbare toegang heeft
- 'x-ms-acl' retourneert de infrastructuurmachtigingen voor de aanroepende gebruiker die is geconverteerd naar een POSIX-toegangsbeheerlijst (ACL), in de vorm 'rwx'
OpenSource-integratie
Omdat OneLake dezelfde API's ondersteunt als ADLS Gen2, werken veel opensourcebibliotheken en -pakketten die compatibel zijn met ADLS Gen2 naadloos met OneLake. Voor andere bibliotheken zijn mogelijk kleine updates vereist voor OneLake-eindpunten of andere compatibiliteitsproblemen. De volgende bibliotheken worden bevestigd dat ze compatibel zijn met OneLake vanwege recente wijzigingen. Deze lijst is niet volledig:
Voorbeelden
Lijstitems binnen een werkruimte
GET https://onelake.dfs.fabric.microsoft.com/myWorkspace?resource=filesystem&recursive=false
Een map maken in een lakehouse
PUT https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/newFolder/?resource=directory