Parita rozhraní API OneLake a Azure Data Lake Storage (ADLS) Gen2
OneLake podporuje stejná rozhraní API jako Azure Data Lake Storage (ADLS) Gen2, což uživatelům umožňuje číst, zapisovat a spravovat svá data v OneLake pomocí nástrojů, které už dnes používají. Vzhledem k tomu, že OneLake je spravované logické datové jezero, některé funkce se spravují jinak než ve službě Azure Storage, a ne všechna chování se podporují přes OneLake. Tato stránka podrobně popisuje tyto rozdíly, včetně spravovaných složek OneLake, rozdílů rozhraní API a kompatibility open source.
Spravované složky OneLake
Pracovní prostory a datové položky ve vašem tenantovi Fabric definují strukturu OneLake. Správa pracovních prostorů a položek probíhá prostřednictvím prostředků infrastruktury – OneLake nepodporuje vytváření, aktualizaci nebo odstraňování pracovních prostorů nebo položek prostřednictvím rozhraní API ADLS Gen2. OneLake umožňuje pouze volání HEAD na úrovni pracovního prostoru (kontejneru) a na úrovni tenanta (účtu), protože musíte provádět změny tenanta a pracovních prostorů na portálu pro správu Prostředků infrastruktury.
OneLake také vynucuje strukturu složek pro položky infrastruktury, chrání položky a jejich spravované podsložky před vytvořením, odstraněním nebo přejmenováním prostřednictvím rozhraní API ADLS Gen2. Složky spravované prostředky infrastruktury zahrnují složku nejvyšší úrovně do položky (například /MyLakehouse.lakehouse) a první úroveň složek v ní (například /MyLakehouse.lakehouse/Files a /MyLakehouse.lakehouse/Tables).
Operace CRUD můžete provádět s libovolnou složkou nebo souborem vytvořenými v rámci těchto spravovaných složek a provádět operace jen pro čtení u pracovních prostorů a složek položek.
Nepodporované hlavičky a parametry požadavku
I v uživatelem vytvořených souborech a složkách OneLake omezuje některé operace správy prostředků infrastruktury prostřednictvím rozhraní API ADLS Gen2. Prostředí Fabric musíte použít k aktualizaci oprávnění nebo úpravám položek a pracovních prostorů a Prostředky infrastruktury spravují další možnosti, jako jsou úrovně přístupu.
OneLake přijímá téměř všechny stejné hlavičky jako ADLS Gen2, přičemž ignoruje jenom některé hlavičky, které se týkají nepotvrzených akcí na OneLake. Vzhledem k tomu, že tyto hlavičky nemění chování celého volání, OneLake ignoruje zakázané hlavičky, vrátí je do nové hlavičky odpovědi x-ms-rejected-headers a povolí zbytek volání. OneLake například ignoruje parametr x-ms-owner ve volání PUT, protože Fabric a OneLake nemají stejný koncept, jako vlastní uživatelé jako Azure Storage.
OneLake odmítne požadavky obsahující nepovolené parametry dotazu, protože parametry dotazu mění chování celého volání. Například volání UPDATE s parametrem setAccessControl jsou blokovaná, protože OneLake nikdy nepodporuje nastavení řízení přístupu prostřednictvím rozhraní API služby Azure Storage.
OneLake neumožňuje následující chování a jejich přidružené hlavičky požadavků a parametry identifikátoru URI:
- Nastavení řízení přístupu
- Parametr URI:
- action: setAccessControl (Požadavek odmítnut)
- action: setAccessControlRecursive (Požadavek odmítnut)
- Hlavičky požadavku:
- x-ms-owner (hlavička ignorována)
- x-ms-group (záhlaví ignorováno)
- x-ms-permissions (hlavička ignorována)
- x-ms-group (záhlaví ignorováno)
- x-ms-acls (záhlaví ignorováno)
- Parametr URI:
- Nastavení rozsahu šifrování
- Hlavičky požadavku:
- x-ms-encryption-key (hlavička ignorována)
- x-ms-encryption-key (hlavička ignorována)
- x-ms-encryption-algorithm:AES256 (hlavička ignorována)
- Hlavičky požadavku:
- Nastavení úrovně přístupu
- Hlavičky požadavku:
- x-ms-access-tier (hlavička ignorována)
- Hlavičky požadavku:
Rozdíly v hlavičce odpovědi
Vzhledem k tomu, že OneLake používá jiný model oprávnění než ADLS Gen2, hlavičky odpovědí související s oprávněními se zpracovávají jinak:
- Výraz x-ms-owner a x-ms-group vždy vrátí hodnotu $superuser, protože OneLake nemá uživatele ani skupiny.
- X-ms-permissions vždy vrátí hodnotu ---------, protože OneLake nemá vlastnící uživatele, skupiny ani veřejná přístupová oprávnění.
- Výraz x-ms-acl vrátí oprávnění fabric pro volajícího uživatele převedeného na seznam řízení přístupu POSIX (ACL) ve formátu rwx.
Opensourcová integrace
Vzhledem k tomu, že OneLake podporuje stejná rozhraní API jako ADLS Gen2, mnoho opensourcových knihoven a balíčků kompatibilních s ADLS Gen2 bez problémů funguje s OneLake. Jiné knihovny můžou vyžadovat malé aktualizace, aby vyhovovaly koncovým bodům OneLake nebo jiným problémům s kompatibilitou. Následující knihovny jsou potvrzeny, že jsou kompatibilní s OneLake kvůli nedávným změnám. Tento seznam není vyčerpávající:
Příklady
Výpis položek v pracovním prostoru
GET https://onelake.dfs.fabric.microsoft.com/myWorkspace?resource=filesystem&recursive=false
Vytvoření složky v jezeře
PUT https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/newFolder/?resource=directory