Parzystość interfejsu API usługi OneLake i usługi Azure Data Lake Storage (ADLS) Gen2

Usługa OneLake obsługuje te same interfejsy API co usługa Azure Data Lake Storage (ADLS) Gen2, umożliwiając użytkownikom odczytywanie, zapisywanie i zarządzanie danymi w usłudze OneLake przy użyciu narzędzi, których już używali dzisiaj. Ponieważ usługa OneLake jest zarządzanym, logicznym magazynem danych, niektóre funkcje są zarządzane inaczej niż w usłudze Azure Storage, a nie wszystkie zachowania są obsługiwane przez usługę OneLake. Ta strona zawiera szczegółowe informacje o tych różnicach, w tym folderach zarządzanych w usłudze OneLake, różnicach między interfejsami API i zgodnością typu open source.

Zarządzane foldery OneLake

Obszary robocze i elementy danych w dzierżawie usługi Fabric definiują strukturę usługi OneLake. Zarządzanie obszarami roboczymi i elementami odbywa się za pomocą środowisk sieci szkieletowej — usługa OneLake nie obsługuje tworzenia, aktualizowania ani usuwania obszarów roboczych ani elementów za pośrednictwem interfejsów API usługi ADLS Gen2. Usługa OneLake zezwala tylko na wywołania HEAD na poziomie obszaru roboczego (kontenera) i dzierżawy (konta), ponieważ należy wprowadzić zmiany w dzierżawie i obszarach roboczych w portalu administracyjnym sieci szkieletowej.

Usługa OneLake wymusza również strukturę folderów dla elementów sieci szkieletowej, ochronę elementów i zarządzanych podfolderów przed tworzeniem, usuwaniem lub zmienianiem nazw za pomocą interfejsów API usługi ADLS Gen2. Foldery zarządzane przez sieć szkieletową obejmują folder najwyższego poziomu w elemencie (na przykład /MyLakehouse.lakehouse) i pierwszy poziom folderów w nim (na przykład /MyLakehouse.lakehouse/Files i /MyLakehouse.lakehouse/Tables).

Operacje CRUD można wykonywać na dowolnym folderze lub pliku utworzonym w tych folderach zarządzanych i wykonywać operacje tylko do odczytu w folderach obszarów roboczych i elementów.

Nieobsługiwane nagłówki i parametry żądania

Nawet w plikach i folderach utworzonych przez użytkownika usługa OneLake ogranicza niektóre operacje zarządzania siecią szkieletową za pośrednictwem interfejsów API usługi ADLS Gen2. Środowiska sieci szkieletowej należy używać do aktualizowania uprawnień lub edytowania elementów i obszarów roboczych, a sieć szkieletowa zarządza innymi opcjami, takimi jak warstwy dostępu.

Usługa OneLake akceptuje prawie wszystkie te same nagłówki co usługa ADLS Gen2, ignorując tylko niektóre nagłówki odnoszące się do nieuprawionych akcji w usłudze OneLake. Ponieważ te nagłówki nie zmieniają zachowania całego wywołania, usługa OneLake ignoruje zakazane nagłówki, zwraca je w nowym nagłówku odpowiedzi "x-ms-rejected-headers" i zezwala na resztę wywołania. Na przykład usługa OneLake ignoruje parametr "x-ms-owner" w wywołaniu PUT, ponieważ sieć szkieletowa i usługa OneLake nie mają tej samej koncepcji posiadania użytkowników co usługa Azure Storage.

Usługa OneLake odrzuca żądania zawierające niewszystkie parametry zapytania, ponieważ parametry zapytania zmieniają zachowanie całego wywołania. Na przykład wywołania UPDATE z parametrem "setAccessControl" są blokowane, ponieważ usługa OneLake nigdy nie obsługuje ustawiania kontroli dostępu za pośrednictwem interfejsów API usługi Azure Storage.

Usługa OneLake nie zezwala na następujące zachowania i skojarzone z nimi nagłówki żądań i parametry identyfikatora URI:

  • Ustawianie kontroli dostępu
    • Parametr identyfikatora URI:
      • action: setAccessControl (Żądanie odrzucone)
      • action: setAccessControlRecursive (Żądanie odrzucone)
    • Nagłówki żądań:
      • x-ms-owner (nagłówek ignorowany)
      • x-ms-group (nagłówek ignorowany)
      • x-ms-permissions (nagłówek ignorowany)
      • x-ms-group (nagłówek ignorowany)
      • x-ms-acls (nagłówek ignorowany)
  • Ustawianie zakresu szyfrowania
    • Nagłówki żądań:
      • x-ms-encryption-key (nagłówek ignorowany)
      • x-ms-encryption-key (nagłówek ignorowany)
      • x-ms-encryption-algorithm:AES256 (nagłówek ignorowany)
  • Ustawianie warstwy dostępu
    • Nagłówki żądań:
      • x-ms-access-tier (nagłówek ignorowany)

Różnice nagłówka odpowiedzi

Ponieważ usługa OneLake używa innego modelu uprawnień niż USŁUGA ADLS Gen2, nagłówki odpowiedzi związane z uprawnieniami są obsługiwane inaczej:

  • Wyrażenie "x-ms-owner" i "x-ms-group" zawsze zwraca wartość "$superuser", ponieważ usługa OneLake nie ma własnych użytkowników ani grup
  • Wyrażenie "x-ms-permissions" zawsze zwraca wartość "---------", ponieważ usługa OneLake nie ma uprawnień użytkowników, grup ani uprawnień dostępu publicznego
  • Wyrażenie "x-ms-acl" zwraca uprawnienia sieci szkieletowej dla użytkownika wywołującego przekonwertowane na listę kontroli dostępu POSIX (ACL) w postaci "rwx"

Integracja typu open source

Ponieważ usługa OneLake obsługuje te same interfejsy API co usługa ADLS Gen2, wiele bibliotek open source i pakietów zgodnych z usługą ADLS Gen2 bezproblemowo współpracuje z usługą OneLake. Inne biblioteki mogą wymagać niewielkich aktualizacji, aby uwzględnić punkty końcowe oneLake lub inne problemy ze zgodnością. Następujące biblioteki są potwierdzane jako zgodne z usługą OneLake z powodu ostatnich zmian. Ta lista nie jest wyczerpująca:

Przykłady

Wyświetlanie listy elementów w obszarze roboczym

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

Tworzenie folderu w usłudze Lakehouse

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