แชร์ผ่าน


ใช้ไปป์ไลน์เพื่อเข้าถึงเลคเฮาส์ในพื้นที่ทํางานที่ถูกจํากัดขาเข้าจากพื้นที่ทํางานที่เปิดอยู่

คุณสามารถใช้ไปป์ไลน์เพื่อสร้างการสื่อสารข้ามพื้นที่ทํางานระหว่างพื้นที่ทํางานแบบเปิดและพื้นที่ทํางานที่จํากัดการเข้าถึงแบบสาธารณะขาเข้า ตัวอย่างเช่น คุณสามารถสร้างไปป์ไลน์ในพื้นที่ทํางานแบบเปิดเพื่อเข้าถึงเลคเฮาส์ในพื้นที่ทํางานที่ถูกจํากัดขาเข้า การตั้งค่านี้ช่วยให้โน้ตบุ๊กใน Workspace 1 สามารถเข้าถึงเลคเฮาส์ได้อย่างปลอดภัยและอ่านตาราง Delta Lake ในพื้นที่ทํางาน 2 โดยไม่เปิดเผยต่อการเข้าถึงแบบสาธารณะ

ขั้นตอนที่ 1: สร้างพื้นที่ทํางาน

คุณต้องมีทั้งพื้นที่ทํางานแบบเปิดและพื้นที่ทํางานแบบจํากัด บทความนี้อ้างถึงพื้นที่ทํางานดังนี้:

  • พื้นที่ทํางานต้นทางคือพื้นที่ทํางาน แบบเปิด โดยไม่มีข้อจํากัดการเข้าถึงสาธารณะ เป็นที่ที่คุณสร้างไปป์ไลน์
  • พื้นที่ทํางานเป้าหมายคือพื้นที่ทํางาน ที่ถูกจํากัด โดยมีการจํากัดการเข้าถึงสาธารณะขาเข้า เป็นที่ที่คุณสร้างเลคเฮาส์

เมื่อต้องการสร้างพื้นที่ทํางาน ให้ทําตามขั้นตอนเหล่านี้:

  1. สร้างพื้นที่ทํางานสองแห่งใน Microsoft Fabric สําหรับรายละเอียด โปรดดู สร้างพื้นที่ทํางาน

  2. ในการตั้งค่าผู้เช่า ให้เปิดใช้งานการป้องกันการเข้าถึงขาเข้าระดับพื้นที่ทํางาน

  3. สําหรับพื้นที่ทํางานเป้าหมาย ให้ตั้งค่าลิงก์ส่วนตัวระดับพื้นที่ทํางาน

ขั้นตอนที่ 2: สร้างเลคเฮาส์ในพื้นที่ทํางานที่ถูกจํากัด

สร้างเลคเฮาส์ในพื้นที่ทํางานเป้าหมาย (จํากัด) โดยใช้ API สร้างเลคเฮาส์ต่อไปนี้:

POST https://{workspaceid}.z{xy}.w.api.fabric.microsoft.com/workspaces/{workspaceID}/lakehouses

สกรีนช็อตที่แสดงการสร้างเลคเฮาส์

ขั้นตอนที่ 3: สร้างตําแหน่งข้อมูลส่วนตัวที่มีการจัดการ

สร้างจุดสิ้นสุดส่วนตัวที่มีการจัดการในพื้นที่ทํางานต้นทาง (เปิด) ใช้การตั้งค่าพื้นที่ ทํางาน ในพอร์ทัลหรือ API ต่อไปนี้:

POST https://{workspaceFQDN}/v1/workspaces/{workspaceID}/managedPrivateEndpoints

ในรหัส {workspaceFQDN} นั้นคือ {workspaceID}.z{xy}.w.api.fabric.microsoft.com.

ตัวอย่างเช่น: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/managedPrivateEndpoints

targetPrivateLinkResourceIdพารามิเตอร์คือรหัสทรัพยากรของบริการ Azure Private Link ในพื้นที่ทํางานที่จํากัด เมื่อต้องการสร้างจุดสิ้นสุดส่วนตัวที่มีการจัดการไปยังพื้นที่ทํางานเป้าหมาย

สกรีนช็อตที่แสดง API สําหรับการสร้างปลายทางส่วนตัวที่มีการจัดการ

คุณสามารถค้นหารหัสทรัพยากรนี้ใน Azure ได้โดยดู JSON ทรัพยากรสําหรับพื้นที่ทํางาน ตรวจสอบให้แน่ใจว่ารหัสพื้นที่ทํางานใน JSON ตรงกับพื้นที่ทํางานเป้าหมายที่ต้องการ

ภาพหน้าจอที่แสดงวิธีรับรหัสทรัพยากร Private Link ในไฟล์ JSON ของทรัพยากร

เจ้าของบริการ Private Link สําหรับ Workspace 2 จําเป็นต้องอนุมัติคําขอสําหรับจุดสิ้นสุดส่วนตัวที่มีการจัดการในการเชื่อมต่อที่รอดําเนินการของศูนย์>ลิงก์ส่วนตัว Azure

ขั้นตอนที่ 4: อัปโหลดโต๊ะ Delta Lake ไปยังเลคเฮาส์

ใช้ Azure Storage Explorer เพื่ออัปโหลดโฟลเดอร์สําหรับตาราง Delta Lake ของคุณไปยังที่เก็บข้อมูลที่มีการจัดการของเลคเฮาส์ที่ถูกจํากัด:

  1. ไปที่ Storage Explorer เลือกไอคอนการเชื่อมต่อบนเมนูด้านซ้าย แล้วเลือกคอนเทนเนอร์หรือไดเรกทอรี ADLS Gen2

  2. ลงชื่อเข้าใช้โดยใช้ OAuth

  3. ป้อนชื่อที่แสดงสําหรับที่เก็บข้อมูล และป้อน URL คอนเทนเนอร์ Blob ในรูปแบบต่อไปนี้:

    https://{workspaceID}.z{xy}.onelake.fabric.microsoft.com/{workspaceID}/{lakehouseID}

    ในรหัส workspaceID นั้น เป็นรหัสพื้นที่ทํางานที่ไม่มีขีดกลาง และเป็น {xy} อักขระสองตัวแรกของรหัสพื้นที่ทํางาน

    สกรีนช็อตที่แสดงการป้อนข้อมูลการเชื่อมต่อ

  4. เลือก เชื่อมต่อ ที่เก็บข้อมูลควรปรากฏในมุมมองตัวสํารวจ

  5. ภายใต้โฟลเดอร์ ตาราง ให้อัปโหลดตาราง Delta Lake ที่คุณต้องการใช้ ตัวอย่างนี้ใช้ตารางลูกค้า

    ภาพหน้าจอที่แสดงตัวเลือกในการอัปโหลดโฟลเดอร์

ขั้นตอนที่ 5: สร้างสมุดบันทึกในพื้นที่ทํางานที่ถูกจํากัด

สร้างสมุดบันทึกที่อ่านจากตารางและเขียนลงในตารางใหม่ เมื่อต้องการทําเช่นนั้น ให้สร้างสมุดบันทึกในพื้นที่ทํางานแบบเปิดโดยใช้ UI:

  1. ในพื้นที่ทํางานแบบเปิด ให้สร้างเลคเฮาส์ที่มีตารางเดียวกันและสมุดบันทึกที่คล้ายกันโดยใช้ UI

    สกรีนช็อตที่แสดงหน้าสําหรับการโหลดไฟล์ไปยังตารางใหม่

  2. เชื่อมต่อเลคเฮาส์ในสมุดบันทึก และเรียกใช้สคริปต์สําหรับการสร้างตารางใหม่:

    df = spark("SELECT * FROM Lakehouse_Open.customers")
    display(df)
    df.write.mode("overwrite").saveAsTable("Lakehouse_Open.customersnew")
    

    สกรีนช็อตที่แสดงการเรียกใช้สคริปต์สําหรับการสร้างตารางใหม่

  3. บันทึกสมุดบันทึก

  4. ดึงคําจํากัดความของสมุดบันทึกผ่าน API และรับผลลัพธ์ตําแหน่ง:

    Get Notebook Definition API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks/getDefinition
    
    Get location API: GET {location}/result
    
  5. แปลง notebook-content.py จาก Base64 เป็น JSON คัดลอกเนื้อหาที่แปลงแล้ว แล้วแปลงเนื้อหากลับจาก JSON เป็น Base64 หลังจากที่คุณอัปเดตค่าต่อไปนี้ด้วยค่าจากเลคเฮาส์ที่ถูกจํากัด

  6. สร้างสมุดบันทึกที่มีคําจํากัดความโดยใช้เนื้อหาคําขอที่อัปเดต:

    Create Notebook API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks
    
    Get location API: GET {location}/result
    

ขั้นตอนที่ 6: สร้างไปป์ไลน์ในพื้นที่ทํางานแบบเปิด

  1. ในพื้นที่ทํางานแบบเปิด ให้สร้างไปป์ไลน์โดยใช้พอร์ทัล Fabric หรือ API

  2. เพิ่มกิจกรรมสมุดบันทึก

  3. ใน การตั้งค่า ให้สร้างการเชื่อมต่อ

    สกรีนช็อตที่แสดงบานหน้าต่างสําหรับเชื่อมต่อแหล่งข้อมูล

  4. เลือกพื้นที่ทํางานที่ถูกจํากัด

    สกรีนช็อตที่แสดงการเลือกพื้นที่ทํางานที่จํากัด

  5. เพิ่มรหัสสมุดบันทึกเป็นพารามิเตอร์:

    @pipeline().parameters.notebookId

  6. ในพารามิเตอร์ไปป์ไลน์ ให้ป้อนรหัสสมุดบันทึกจริงจากพื้นที่ทํางานที่จํากัด

    สกรีนช็อตที่แสดงตําแหน่งที่จะเพิ่ม ID สมุดบันทึก

  7. บันทึกไปป์ไลน์และคัดลอกรหัสไปป์ไลน์

ขั้นตอนที่ 7: เรียกใช้ไปป์ไลน์ผ่าน API

  1. ทริกเกอร์ไปป์ไลน์โดยใช้ API ตัวอย่างเช่น ใช้ Bruno

    นี่คือรูปแบบของตําแหน่งข้อมูล API สําหรับการเรียกใช้ไปป์ไลน์:

    https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{openWsId}/items/{pipelineId}/jobs/instances?jobType=Pipeline`
    
    Get location API: GET {location}
    
  2. รอให้สถานะการวิ่งเสร็จสิ้น คุณสามารถตรวจสอบสถานะได้บนหน้า ตรวจสอบ ในพอร์ทัล Fabric

    สกรีนช็อตที่แสดงหน้า ตรวจสอบ

ขั้นตอนที่ 8: ยืนยันการสร้างตาราง

  1. เปิด Storage Explorer ในเลคเฮาส์ของพื้นที่ทํางานที่ถูกจํากัด

  2. ยืนยันว่าได้สร้างตารางใหม่แล้ว

  3. ใช้ API ตารางรายการเพื่อรับตารางเลคเฮาส์:

    List Tables API: GET https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/tables