ตัวอย่างแผนการปรับใช้ (ตัวอย่าง)

บทความนี้แสดงรูปแบบที่แผนการปรับใช้ถูกใช้กันทั่วไป แต่ละตัวจะอธิบายกลุ่มการปรับใช้และการดําเนินการที่แนบมากับกลุ่มเหล่านั้น เพื่อให้คุณสามารถสร้างสิ่งที่เทียบเท่ากันบนแคนวาสได้

สําหรับวิธีสร้างแผน ดูที่ สร้างแผนการปรับใช้

ปรับใช้ไอเท็มที่ขึ้นอยู่กับข้อมูลที่ไอเท็มอื่นสร้างขึ้น

นี่คือเหตุผลที่พบบ่อยที่สุดในการใช้แผน

พื้นที่ทํางาน

ทีมขายเก็บโซลูชันวิเคราะห์ไว้ในพื้นที่ทํางานที่เชื่อมต่อ git เพียงแห่งเดียว ซึ่งประกอบด้วย 4 รายการ:

รายการ ชนิด การทำงานของมัน
Sales_Lakehouse Lakehouse เก็บโต๊ะขายของไว้ มันว่างเปล่าเมื่อถูกนําไปใช้งาน เพราะการติดตั้งจะคัดลอกคํานิยามของรายการ ไม่ใช่ข้อมูล
Hydrate_TopCustomers Notebook เขียนข้อมูลต้นฉบับลงในบ้านพักริมทะเลสาบ
Publish_TopCustomers Notebook เปลี่ยนแถวเหล่านั้นเป็นตารางที่เผยแพร่dbo.top_customers
Sales_Warehouse คลังสินค้า ถือมุมมอง dbo.vw_top_customersซึ่งอ่านว่า dbo.top_customers.

ทําไมคําสั่งการปฏิบัติงานเพียงอย่างเดียวจึงไม่เพียงพอ

Fabric ใช้ item lineage เพื่อตรวจจับว่ามุมมองคลังสินค้าอ้างอิงถึงโต๊ะ lakehouse ดังนั้นจึงติดตั้ง lakehouse ก่อนคลังสินค้า

Lineage ไม่แสดงว่าตารางต้อง ถูกเติม ก่อนที่มุมมองจะถูกต้อง ตารางจะไม่มาพร้อมกับคํานิยามของรายการ โน้ตบุ๊กทั้งสองเครื่องจะสร้างข้อมูลนี้ขณะทํางาน:

แผนภาพแสดงสมุดโน้ต Hydrate เขียนตารางแหล่งข้อมูลลงในบ้านพักริมทะเลสาบ, สมุดบันทึก Publish แปลงเป็น dbo.top_customers และมุมมองคลังสินค้าที่อ่านตารางนั้น

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

ไม่มีอะไรผิดปกติกับไอเท็มเหล่านี้ สิ่งที่ขาดหายไปคือคําสั่งให้รันโน้ตบุ๊กระหว่างการติดตั้งบ้านพักทะเลสาบและการติดตั้งคลังสินค้า คําสั่งนั้นคือแผน

แผน

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

กลุ่มการติดตั้ง รายการที่ติดตั้งแล้ว การดําเนินการหลังการปรับใช้ ขึ้นอยู่กับ
Sales_Lakehouse Sales_Lakehouse (บ้านริมทะเลสาบ) 1. รัน Hydrate_TopCustomers
2. รัน Publish_TopCustomers
ไม่มี
Sales_Warehouse Sales_Warehouse (คลังสินค้า) None Sales_Lakehouse

หลังจาก lakehouse ถูกปล่อยแล้ว ให้ Hydrate_TopCustomers เขียนแถวต้นทาง จากนั้น Publish_TopCustomers สร้าง dbo.top_customers และรอจนกว่า endpoint ของ SQL analytics จะเปิดเผยตาราง กลุ่มบ้านทะเลสาบจะจบลงหลังจากทั้งสองกิจกรรมเสร็จสิ้น Fabric สามารถติดตั้งคลังสินค้าและสร้างมุมมองของมันได้

สมุดบันทึกเป็นการดําเนินการในกลุ่ม lakehouse ไม่ใช่กลุ่มติดตั้งแยกต่างหาก Publish_TopCustomers ขึ้นอยู่กับ Hydrate_TopCustomersและกลุ่มโกดังขึ้นอยู่กับกลุ่มบ้านริมทะเลสาบที่สร้างเสร็จ

นี่คือแผนเดียวกันบนผืนผ้าใบ:

ภาพหน้าจอแผนการปรับใช้ SalesRelease แสดงกลุ่ม Sales_Lakehouse ที่มี Hydrate_TopCustomers และ Publish_TopCustomers เป็นคําสั่งหลังการปรับใช้ ตามด้วยกลุ่ม Sales_Warehouse ที่ขึ้นต่อกัน

เข้าใจโครงสร้าง plan.yml

คุณสร้างแผนบนผืนผ้าใบ เมื่อพื้นที่ทํางานเชื่อมต่อกับ Git แผนจะถูกเก็บเป็น plan.yml ไฟล์ในโฟลเดอร์ของรายการแผนการปรับใช้ ดังนั้นจึงถูกตรวจสอบและปรับเวอร์ชันเหมือนรายการอื่น ๆ:

$schema: https://developer.microsoft.com/json-schemas/fabric/item/deploymentPlan/definition/plan/1.0.0/schema.json
version: 1.0.0
groups:
  - name: Sales_Lakehouse
    logicalId: 11111111-1111-1111-1111-111111111111
    postActions:
      - name: Run Hydrate_TopCustomers
        job:
          type: Execute
          logicalId: 22222222-2222-2222-2222-222222222222
      - name: Run Publish_TopCustomers
        dependsOn:
          - actionName: Run Hydrate_TopCustomers
        job:
          type: Execute
          logicalId: 33333333-3333-3333-3333-333333333333
  - name: Sales_Warehouse
    logicalId: 44444444-4444-4444-4444-444444444444
    dependsOn:
      - groupName: Sales_Lakehouse

ไฟล์มีโครงสร้างดังนี้:

องค์ประกอบ จุดประสงค์
$schema ระบุสคีมาที่ตรวจสอบความถูกต้องของคําจํากัดความแผน
version ระบุเวอร์ชันของการกําหนดแผน
groups ประกอบด้วยกลุ่มการปรับใช้ในแผนงาน
name กําหนดชื่อเฉพาะให้กับกลุ่มหรือแอ็กชันที่การพึ่งพาสามารถอ้างอิงได้
logicalId ระบุรายการ Fabric ข้ามพื้นที่ทํางาน
dependsOn ประกาศการพึ่งพากลุ่มหรือการกระทําอื่นโดยใช้ชื่อ
preActions และ postActions เรียกใช้งานที่รองรับก่อนหรือหลังจากที่รายการของกลุ่มถูกปรับใช้
job ระบุประเภทงาน รหัสตรรกะของรายการ และพารามิเตอร์เสริมสําหรับการดําเนินการ

มีบางสิ่งที่ควรสังเกตในคําจํากัดความนี้:

  • กลุ่มจะตั้งชื่อรายการหนึ่งรายการ logicalId เป็นรหัสตรรกะของรายการ ซึ่งเป็นตัวระบุเดียวกับที่ Git integration ใช้ ดังนั้นแผนงานจึงยังคงใช้ได้เมื่อรายการย้ายระหว่าง workspace
  • ลําดับกลุ่มจะแสดงด้วย dependsOn, ไม่ใช่ตามตําแหน่งในไฟล์ การจัดลําดับกลุ่มใหม่ในไฟล์ไม่เปลี่ยนแปลงอะไร
  • ลําดับการกระทํายังแสดงด้วยdependsOn Run Publish_TopCustomers เริ่มได้ก็ต่อเมื่อ Run Hydrate_TopCustomers จบการแข่งขันเท่านั้น
  • postActions เรียกใช้หลังจากที่รายการของกลุ่มถูกปรับใช้แล้ว ใช้ preActions สําหรับงานที่ต้องทําก่อน เช่น การตรวจสอบความถูกต้อง

เคล็ดลับ

การดําเนินการจะเสร็จสิ้นเมื่อการรันของรายการสิ้นสุดลง ไม่ใช่เมื่อบริการปลายทางตามทัน ในตัวอย่างนี้ เซลล์สุดท้ายของ Publish_TopCustomers จะรอจนกว่า Lakehouse SQL Analytics จะจัดทําแคตตาล็อกตารางใหม่เสร็จ ใส่การตรวจสอบความพร้อมแบบนั้นไว้ในแผนการ เพราะแผนไม่ได้รอคุณ

รีเฟรชเนื้อหาหลังจากที่ติดตั้งแล้ว

การปรับใช้จะอัปเดตคํานิยามของรายการ มันไม่ได้รันอะไรเลย ดังนั้นโมเดลเชิงความหมายหรือรายงานจึงสะท้อนคํานิยามใหม่แต่ไม่ใช่ข้อมูลใหม่

กลุ่มการติดตั้ง รายการที่ติดตั้งแล้ว ทํางานหลังจากที่รายการถูกปรับใช้ ขึ้นอยู่กับ
Sales_Warehouse Sales_Warehouse (คลังสินค้า) None ไม่มี
Sales_Model Sales_Model (แบบจําลองเชิงความหมาย) รันท่อข้อมูลที่รีเฟรชโมเดล Sales_Warehouse

แนบแผนนี้กับการปรับใช้สายงาน deployment เพื่อให้การเลื่อนขั้นไปยังขั้นตอนทําให้เป้าหมายพร้อมใช้งาน แทนที่จะต้องรีเฟรชด้วยตนเอง

ตรวจสอบความถูกต้องก่อนที่อะไรจะถูกนําไปใช้

การดําเนินการก่อนการปรับใช้จะทํางานก่อนที่รายการในกลุ่มจะถูกปรับใช้ ดังนั้นคุณสามารถใช้เป็นเกตได้

การดําเนินการสามารถรันรายการที่ได้ถูกติดตั้งไปแล้ว ดังนั้นการตรวจสอบจะถูกใช้งานโดยกลุ่มก่อนหน้า:

กลุ่มการติดตั้ง รายการที่ติดตั้งแล้ว ทํางานก่อนที่รายการจะถูกปรับใช้ ขึ้นอยู่กับ
ก่อนบิน Preflight_Checks (สมุดบันทึก) None ไม่มี
First_Real_Item รายการแรกของการเผยแพร่ วิ่ง Preflight_Checks ก่อนบิน

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

Note

การดําเนินการก่อนการปรับใช้ไม่สามารถรันรายการที่กลุ่มของตัวเองปล่อยได้ เพราะรายการนั้นยังไม่มีอยู่ในเป้าหมาย ปรับใช้รายการที่ทําการตรวจสอบในกลุ่มก่อนหน้า ดังที่แสดงที่นี่

สั่งงานที่สายเลือดไม่สามารถเห็นได้

สองรายการสามารถแยกจากกันอย่างสมบูรณ์ในแง่ของสายเลือด และยังต้องมีคําสั่ง แผนคือวิธีที่คุณแสดงออก

กลุ่มการติดตั้ง รายการที่ติดตั้งแล้ว ขึ้นอยู่กับ
Reference_Data รายการที่สร้างข้อมูลอ้างอิง ไม่มี
Domain_Item รายการที่อ่านข้อมูลอ้างอิงผ่านการเชื่อมต่อแทนที่จะเป็นการอ้างอิงโดยตรง Reference_Data

เนื่องจากการพึ่งพานี้ทํางานผ่านการเชื่อมต่อ ไม่ใช่การอ้างอิงสินค้า Fabric จึงไม่สามารถสรุปได้ แผนการเป็นผู้จัดหาคําสั่ง