Megosztás a következőn keresztül:


OneLake és Azure Data Lake Storage (ADLS) API paritása

A OneLake ugyanazokat az API-kat támogatja, mint az Azure Data Lake Storage (ADLS) és az Azure Blob Storage, lehetővé téve a felhasználók számára az adataik olvasását, írását és kezelését a OneLake-ben a ma már használt eszközökkel. Mivel a OneLake egy felügyelt, logikai adattó, egyes funkciók kezelése másként történik, mint az Azure Storage-ban, és nem minden viselkedés támogatott a OneLake-en keresztül. Ez a lap részletesen ismerteti ezeket a különbségeket, beleértve a OneLake által felügyelt mappákat, az API-különbségeket és a nyílt forráskód kompatibilitást.

Felügyelt OneLake-mappák

A Fabric-bérlő munkaterületei és adatelemei határozzák meg a OneLake struktúráját. A munkaterületek és elemek kezelése a Fabric-szolgáltatásokon keresztül történik – a OneLake nem támogatja munkaterületek vagy elemek létrehozását, frissítését vagy törlését az ADLS API-kon keresztül. A OneLake csak a munkaterület (tároló) és a bérlő (fiók) szintjén engedélyezi a HEAD-hívásokat, mivel módosítania kell a bérlőt és a munkaterületeket a Háló felügyeleti portálján.

A OneLake emellett a Fabric-elemek mappastruktúráját is kikényszeríti, így védi az elemeket és a felügyelt almappákat az ADLS és Blob API-k használatával történő létrehozástól, törléstől vagy átnevezéstől. A hálóval felügyelt mappák közé tartozik egy elem legfelső szintű mappája (például /MyLakehouse.lakehouse) és a benne lévő mappák első szintje (például /MyLakehouse.lakehouse/Files és /MyLakehouse.lakehouse/Tables).

A CRUD-műveleteket az ezekben a felügyelt mappákban létrehozott bármely mappán vagy fájlon végrehajthatja, és írásvédett műveleteket hajthat végre a munkaterületen és az elemmappákon.

Nem támogatott kérelemfejlécek és paraméterek

A OneLake még a felhasználó által létrehozott fájlokban és mappákban is korlátozza a Fabric felügyeleti műveleteit az ADLS API-kkal. Az engedélyek frissítéséhez vagy az elemek és munkaterületek szerkesztéséhez Fabric-szolgáltatásokat kell használnia, a Fabric pedig más beállításokat, például hozzáférési szinteket kezel.

A OneLake szinte az összes fejlécet elfogadja a Storage-tal, figyelmen kívül hagyva a OneLake nem engedélyezett műveleteihez kapcsolódó fejléceket. Mivel ezek az élőfejek nem változtatják meg a teljes hívás viselkedését, a OneLake figyelmen kívül hagyja a tiltott fejléceket, visszaadja őket egy új "x-ms-rejected-headers" válaszfejlécben, és engedélyezi a hívás többi részét. A OneLake például figyelmen kívül hagyja az "x-ms-owner" paramétert egy PUT-hívásban, mivel a Fabric és a OneLake nem ugyanazzal a koncepcióval rendelkezik, mint az Azure Storage.

A OneLake elutasítja a nem engedélyezett lekérdezési paramétereket tartalmazó kérelmeket, mivel a lekérdezési paraméterek megváltoztatják a teljes hívás viselkedését. Például a setAccessControl paraméterrel rendelkező UPDATE-hívások le vannak tiltva, mivel a OneLake soha nem támogatja a hozzáférés-vezérlés beállítását az Azure Storage API-kkal.

A OneLake nem engedélyezi a következő viselkedéseket, valamint a hozzájuk tartozó kérésfejléceket és URI-paramétereket:

  • Hozzáférés-vezérlés beállítása
    • URI-paraméter:
      • művelet: setAccessControl (Elutasított kérelem)
      • művelet: setAccessControlRecursive (Elutasított kérelem)
    • Kérelemfejlécek:
      • x-ms-owner (a fejléc figyelmen kívül hagyva)
      • x-ms-group (a fejléc figyelmen kívül hagyva)
      • x-ms-permissions (Fejléc figyelmen kívül hagyva)
      • x-ms-group (a fejléc figyelmen kívül hagyva)
      • x-ms-acls (Fejléc figyelmen kívül hagyva)
  • Titkosítási hatókör beállítása
    • Kérelemfejlécek:
      • x-ms-encryption-key (Fejléc figyelmen kívül hagyva)
      • x-ms-encryption-key (Fejléc figyelmen kívül hagyva)
      • x-ms-encryption-algorithm:AES256 (Fejléc figyelmen kívül hagyva)
  • Hozzáférési szint beállítása
    • Kérelemfejlécek:
      • x-ms-access-tier (Fejléc figyelmen kívül hagyva)

Válaszfejléc eltérései

Mivel a OneLake az ADLS-től eltérő engedélymodellt használ, az engedélyekhez kapcsolódó válaszfejlécek kezelése eltérő:

  • Az "x-ms-owner" és az "x-ms-group" mindig a "$superuser" értéket adja vissza, mivel a OneLake nem rendelkezik tulajdonos felhasználók vagy csoportok
  • Az "x-ms-permissions" mindig "---------" értéket ad vissza, mivel a OneLake nem rendelkezik felhasználói, csoport- vagy nyilvános hozzáférési engedélyekkel
  • Az "x-ms-acl" a POSIX hozzáférés-vezérlési listává (ACL) konvertált hívó felhasználó hálóengedélyeit adja vissza "rwx" formátumban

Nyílt forráskódú integráció

Mivel a OneLake ugyanazokat az API-kat támogatja, mint az ADLS és a Blob Storage, számos nyílt forráskódú kódtár és csomag, amelyek kompatibilisek az ADLS-sel és a Blob Storage-tal, zökkenőmentesen működnek a OneLake-vel (például Azure Storage Explorer). Más kódtárak kis frissítéseket igényelhetnek a OneLake-végpontok vagy más kompatibilitási problémák megoldásához. A legutóbbi módosítások miatt a következő kódtárak kompatibilisek lesznek a OneLake-lel. Ez a lista nem teljes:

Példák

Munkaterületen belüli elemek listázása (ADLS)

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

Elemek listázása egy munkaterületen (Blob)

GET  https://onelake.blob.fabric.microsoft.com/myWorkspace?restype=container&comp=list&delimiter=%2F

Mappa létrehozása egy tóházban (ADLS)

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

Blob tulajdonságainak lekérdezése (Blob)

HEAD  https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/file.txt