Paritas API OneLake dan Azure Data Lake Storage (ADLS) Gen2

OneLake mendukung API yang sama dengan Azure Data Lake Storage (ADLS) Gen2, memungkinkan pengguna untuk membaca, menulis, dan mengelola data mereka di OneLake dengan alat yang sudah mereka gunakan saat ini. Karena OneLake adalah data lake logis terkelola, beberapa fitur dikelola secara berbeda dari di Azure Storage, dan tidak semua perilaku didukung melalui OneLake. Halaman ini merinci perbedaan ini, termasuk folder terkelola OneLake, perbedaan API, dan kompatibilitas sumber terbuka.

Folder OneLake Terkelola

Ruang kerja dan item data di penyewa Fabric Anda menentukan struktur OneLake. Mengelola ruang kerja dan item dilakukan melalui pengalaman Fabric - OneLake tidak mendukung pembuatan, pembaruan, atau penghapusan ruang kerja atau item melalui API ADLS Gen2. OneLake hanya memungkinkan panggilan HEAD di tingkat ruang kerja (kontainer) dan tingkat penyewa (akun), karena Anda harus membuat perubahan pada penyewa dan ruang kerja di portal administrasi Fabric.

OneLake juga memberlakukan struktur folder untuk item Fabric, melindungi item dan subfolder terkelolanya dari pembuatan, penghapusan, atau penggantian nama melalui API ADLS Gen2. Folder yang dikelola fabric mencakup folder tingkat atas dalam item (misalnya, /MyLakehouse.lakehouse) dan tingkat folder pertama di dalamnya (misalnya, /MyLakehouse.lakehouse/Files dan /MyLakehouse.lakehouse/Tables).

Anda dapat melakukan operasi CRUD pada folder atau file apa pun yang dibuat dalam folder terkelola ini, dan melakukan operasi baca-saja pada folder ruang kerja dan item.

Header dan parameter permintaan yang tidak didukung

Bahkan dalam file dan folder yang dibuat pengguna, OneLake membatasi beberapa operasi manajemen Fabric melalui API ADLS Gen2. Anda harus menggunakan pengalaman Fabric untuk memperbarui izin atau mengedit item dan ruang kerja, dan Fabric mengelola opsi lain seperti tingkat akses.

OneLake menerima hampir semua header yang sama dengan ADLS Gen2, mengabaikan hanya beberapa header yang terkait dengan tindakan yang tidak dipancarkan di OneLake. Karena header ini tidak mengubah perilaku seluruh panggilan, OneLake mengabaikan header yang dilarang, mengembalikannya di header respons 'x-ms-rejected-headers' baru, dan mengizinkan sisa panggilan. Misalnya, OneLake mengabaikan parameter 'x-ms-owner' dalam panggilan PUT karena Fabric dan OneLake tidak memiliki konsep yang sama untuk memiliki pengguna sebagai Azure Storage.

OneLake menolak permintaan yang berisi parameter kueri yang tidak diizinkan karena parameter kueri mengubah perilaku seluruh panggilan. Misalnya, panggilan UPDATE dengan parameter 'setAccessControl' diblokir karena OneLake tidak pernah mendukung pengaturan kontrol akses melalui API Azure Storage.

OneLake tidak mengizinkan perilaku berikut dan header permintaan terkait dan parameter URI:

  • Mengatur kontrol akses
    • Parameter URI:
      • action: setAccessControl (Permintaan ditolak)
      • action: setAccessControlRecursive (Permintaan ditolak)
    • Header permintaan:
      • x-ms-owner (Header diabaikan)
      • x-ms-group (Header diabaikan)
      • x-ms-permissions (Header diabaikan)
      • x-ms-group (Header diabaikan)
      • x-ms-acls (Header diabaikan)
  • Mengatur cakupan enkripsi
    • Header permintaan:
      • x-ms-encryption-key (Header diabaikan)
      • x-ms-encryption-key (Header diabaikan)
      • x-ms-encryption-algorithm:AES256 (Header diabaikan)
  • Mengatur tingkat akses
    • Header permintaan:
      • x-ms-access-tier (Header diabaikan)

Perbedaan header respons

Karena OneLake menggunakan model izin yang berbeda dari ADLS Gen2, header respons yang terkait dengan izin ditangani secara berbeda:

  • 'x-ms-owner' dan 'x-ms-group' selalu mengembalikan '$superuser' karena OneLake tidak memiliki pengguna atau grup pemilik
  • 'x-ms-permissions' selalu mengembalikan '---------' karena OneLake tidak memiliki izin pengguna, grup, atau akses publik
  • 'x-ms-acl' mengembalikan izin Fabric untuk pengguna panggilan yang dikonversi ke daftar kontrol akses POSIX (ACL), dalam formulir 'rwx'

Integrasi Sumber Terbuka

Karena OneLake mendukung API yang sama dengan ADLS Gen2, banyak pustaka dan paket sumber terbuka yang kompatibel dengan ADLS Gen2 bekerja dengan mulus dengan OneLake. Pustaka lain mungkin memerlukan pembaruan kecil untuk mengakomodasi titik akhir OneLake atau masalah kompatibilitas lainnya. Pustaka berikut dikonfirmasi kompatibel dengan OneLake karena perubahan terbaru. Daftar ini tidak lengkap:

Contoh

Mencantumkan item dalam ruang kerja

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

Membuat folder di dalam lakehouse

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