แชร์ผ่าน


พาริตีของ OneLake และ Azure Data Lake Storage (ADLS) Gen2 API

OneLake สนับสนุน API เดียวกันกับ Azure Data Lake Storage (ADLS) Gen2 ซึ่งช่วยให้ผู้ใช้สามารถอ่าน เขียน และจัดการข้อมูลของพวกเขาใน OneLake ด้วยเครื่องมือที่พวกเขาใช้งานอยู่แล้วในปัจจุบัน เนื่องจาก OneLake เป็นที่จัดเก็บข้อมูลเลคเชิงตรรกะที่มีการจัดการ คุณลักษณะบางอย่างได้รับการจัดการแตกต่างจากใน Azure Storage และไม่ใช่ลักษณะการทํางานทั้งหมดที่ได้รับการสนับสนุนใน OneLake หน้านี้แสดงรายละเอียดความแตกต่างเหล่านี้ รวมถึงโฟลเดอร์ที่ได้รับการจัดการของ OneLake ความแตกต่าง API และความเข้ากันได้โอเพนซอร์ส (Open Source)

โฟลเดอร์ OneLake ที่มีการจัดการ

พื้นที่ทํางานและรายการข้อมูลในผู้เช่า Fabric ของคุณจะกําหนดโครงสร้างของ OneLake การจัดการพื้นที่ทํางานและรายการทําได้ผ่านประสบการณ์ Fabric - OneLake ไม่สนับสนุนการสร้าง อัปเดต หรือการลบพื้นที่ทํางานหรือรายการผ่าน API ของ ADLS Gen2 OneLake อนุญาตการเรียกใช้ HEAD ที่ระดับพื้นที่ทํางาน (คอนเทนเนอร์) และระดับผู้เช่า (บัญชี) เท่านั้น เนื่องจากคุณต้องทําการเปลี่ยนแปลงกับผู้เช่าและพื้นที่ทํางานในพอร์ทัลการดูแลระบบ Fabric

OneLake ยังบังคับใช้โครงสร้างโฟลเดอร์สําหรับรายการ Fabric ปกป้องรายการและโฟลเดอร์ย่อยที่ได้รับการจัดการจากการสร้าง การลบ หรือเปลี่ยนชื่อผ่าน API ของ ADLS Gen2 โฟลเดอร์ที่จัดการโดย Fabric รวมถึงโฟลเดอร์ระดับบนสุดในรายการ (ตัวอย่างเช่น /MyLakehouse.lakehouse) และโฟลเดอร์ระดับแรกภายในนั้น (ตัวอย่างเช่น /MyLakehouse.lakehouse/Files และ /MyLakehouse.lakehouse/Tables)

คุณสามารถดําเนินการ CRUD บนโฟลเดอร์หรือไฟล์ใด ๆ ที่สร้างขึ้นภายในโฟลเดอร์ที่มีการจัดการเหล่านี้และดําเนินการแบบอ่านอย่างเดียวในพื้นที่ทํางานและโฟลเดอร์รายการ

ส่วนหัวและพารามิเตอร์คําขอที่ไม่สนับสนุน

แม้ในไฟล์และโฟลเดอร์ที่ผู้ใช้สร้างขึ้น OneLake จํากัดการดําเนินการจัดการผ้าบางอย่างผ่าน ADLS Gen2 API คุณต้องใช้ประสบการณ์ Fabric เพื่ออัปเดตสิทธิ์หรือแก้ไขรายการและพื้นที่ทํางาน และ Fabric จะจัดการตัวเลือกอื่น ๆ เช่น ระดับการเข้าถึง

OneLake ยอมรับส่วนหัวเกือบทั้งหมดที่เหมือนกันกับ ADLS Gen2 โดยไม่สนใจเฉพาะส่วนหัวบางอย่างที่เกี่ยวข้องกับการดําเนินการที่ไม่ได้ดําเนินการบน OneLake เนื่องจากส่วนหัวเหล่านี้ไม่ได้เปลี่ยนแปลงลักษณะการทํางานของการโทรทั้งหมด OneLake จะละเว้นส่วนหัวที่ถูกแบน ส่งกลับในส่วนหัวการตอบสนอง 'x-ms-ปฏิเสธ-headers' ใหม่ และอนุญาตส่วนที่เหลือของการโทร ตัวอย่างเช่น OneLake ละเว้นพารามิเตอร์ 'x-ms-owner' ในการเรียก PUT เนื่องจาก Fabric และ OneLake ไม่มีแนวคิดเดียวกันกับการเป็นเจ้าของผู้ใช้เป็น Azure Storage

OneLake ปฏิเสธคําขอที่มีพารามิเตอร์คิวรีที่ไม่ได้รับอนุญาตเนื่องจากพารามิเตอร์คิวรีเปลี่ยนลักษณะการทํางานของการเรียกทั้งหมด ตัวอย่างเช่น การเรียกใช้ UPDATE ด้วยพารามิเตอร์ 'setAccessControl' ถูกบล็อกเนื่องจาก OneLake ไม่เคยสนับสนุนการควบคุมการเข้าถึงการตั้งค่าผ่าน Azure Storage API

OneLake ไม่อนุญาตให้มีลักษณะการทํางานต่อไปนี้ และส่วนหัวของคําขอและพารามิเตอร์ URI ที่เกี่ยวข้อง:

  • ตั้งค่าการควบคุมการเข้าถึง
    • พารามิเตอร์ URI:
      • action: setAccessControl (คําขอถูกปฏิเสธ)
      • action: setAccessControlRecursive (คําขอถูกปฏิเสธ)
    • ส่วนหัวของคําขอ:
      • x-ms-owner (ส่วนหัวถูกละเว้น)
      • x-ms-group (ส่วนหัวถูกละเว้น)
      • สิทธิ์ x-ms (ส่วนหัวถูกละเว้น)
      • x-ms-group (ส่วนหัวถูกละเว้น)
      • x-ms-acls (ส่วนหัวถูกละเว้น)
  • ตั้งค่าขอบเขตการเข้ารหัสลับ
    • ส่วนหัวของคําขอ:
      • x-ms-encryption-key (ส่วนหัวถูกละเว้น)
      • x-ms-encryption-key (ส่วนหัวถูกละเว้น)
      • x-ms-encryption-algorithm:AES256 (ส่วนหัวถูกละเว้น)
  • ตั้งค่าระดับการเข้าถึง
    • ส่วนหัวของคําขอ:
      • x-ms-access-tier (ส่วนหัวถูกละเว้น)

ความแตกต่างของส่วนหัวการตอบสนอง

เนื่องจาก OneLake ใช้แบบจําลองสิทธิ์ที่แตกต่างจาก ADLS Gen2 ส่วนหัวของคําตอบที่เกี่ยวข้องกับสิทธิ์จะได้รับการจัดการแตกต่างกัน:

  • 'x-ms-owner' และ 'x-ms-group' จะส่งกลับ '$superuser' เสมอ เนื่องจาก OneLake ไม่มีผู้ใช้หรือกลุ่มที่เป็นเจ้าของ
  • 'x-ms-permissions' จะแสดง '---------' เสมอ เนื่องจาก OneLake ไม่มีสิทธิ์การเข้าถึงของผู้ใช้ กลุ่ม หรือสาธารณะที่เป็นเจ้าของ
  • 'x-ms-acl' ส่งกลับสิทธิ์ Fabric สําหรับผู้ใช้ที่เรียกใช้ที่แปลงเป็นรายการควบคุมการเข้าถึง POSIX (ACL) ในแบบฟอร์ม 'rwx'

การรวม Open Source

เนื่องจาก OneLake สนับสนุน API เดียวกันกับ ADLS Gen2 ไลบรารีและแพคเกจโอเพนซอร์ส (Open Source)จํานวนมากที่เข้ากันได้กับ ADLS Gen2 ทํางานได้อย่างราบรื่นกับ OneLake ไลบรารีอื่น ๆ อาจจําเป็นต้องมีการอัปเดตเล็กน้อยเพื่อรองรับจุดสิ้นสุด OneLake หรือปัญหาความเข้ากันได้อื่น ๆ ไลบรารีต่อไปนี้ได้รับการยืนยันให้เข้ากันได้กับ OneLake เนื่องจากการเปลี่ยนแปลงล่าสุด รายการนี้ไม่ได้ละเอียดถี่ถ้วน:

ตัวอย่าง

ข้อมูลรายการภายในพื้นที่ทํางาน

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

สร้างโฟลเดอร์ภายในเลคเฮ้าส์

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