หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้แสดงรูปแบบที่แผนการปรับใช้ถูกใช้กันทั่วไป แต่ละตัวจะอธิบายกลุ่มการปรับใช้และการดําเนินการที่แนบมากับกลุ่มเหล่านั้น เพื่อให้คุณสามารถสร้างสิ่งที่เทียบเท่ากันบนแคนวาสได้
สําหรับวิธีสร้างแผน ดูที่ สร้างแผนการปรับใช้
ปรับใช้ไอเท็มที่ขึ้นอยู่กับข้อมูลที่ไอเท็มอื่นสร้างขึ้น
นี่คือเหตุผลที่พบบ่อยที่สุดในการใช้แผน
พื้นที่ทํางาน
ทีมขายเก็บโซลูชันวิเคราะห์ไว้ในพื้นที่ทํางานที่เชื่อมต่อ 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 ไม่แสดงว่าตารางต้อง ถูกเติม ก่อนที่มุมมองจะถูกต้อง ตารางจะไม่มาพร้อมกับคํานิยามของรายการ โน้ตบุ๊กทั้งสองเครื่องจะสร้างข้อมูลนี้ขณะทํางาน:
ปรับใช้พื้นที่ทํางานนี้โดยไม่มีแผน และการปรับใช้จะล้มเหลว ทุกรายการถูกคัดลอกอย่างถูกต้อง แต่มุมมองคลังสินค้าจะถูกสร้างขึ้นบนตารางที่ยังไม่มีใครสร้าง และการปรับใช้รายงานว่าชื่อวัตถุไม่ถูกต้อง เป้าหมายถูกปล่อยออกมาบางส่วน
ไม่มีอะไรผิดปกติกับไอเท็มเหล่านี้ สิ่งที่ขาดหายไปคือคําสั่งให้รันโน้ตบุ๊กระหว่างการติดตั้งบ้านพักทะเลสาบและการติดตั้งคลังสินค้า คําสั่งนั้นคือแผน
แผน
แผนนี้มีสองกลุ่มปฏิบัติการ คือกลุ่มหนึ่งสําหรับบ้านพักริมทะเลสาบและอีกกลุ่มสําหรับโกดัง กลุ่ม 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และกลุ่มโกดังขึ้นอยู่กับกลุ่มบ้านริมทะเลสาบที่สร้างเสร็จ
นี่คือแผนเดียวกันบนผืนผ้าใบ:
เข้าใจโครงสร้าง 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, ไม่ใช่ตามตําแหน่งในไฟล์ การจัดลําดับกลุ่มใหม่ในไฟล์ไม่เปลี่ยนแปลงอะไร - ลําดับการกระทํายังแสดงด้วย
dependsOnRun 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 จึงไม่สามารถสรุปได้ แผนการเป็นผู้จัดหาคําสั่ง