ตั้งค่าฮับการตรวจสอบ Fabric

ฮับการตรวจสอบใน Microsoft Fabric Workload Development Kit คือศูนย์ควบคุมส่วนกลาง ฮับการตรวจสอบถูกออกแบบมาสําหรับผู้ใช้ Fabric เพื่อติดตามงานพื้นหลังของรายการ สําหรับข้อมูลเพิ่มเติม ให้ดู ใช้ฮับการตรวจสอบ

Backend

ในส่วนนี้จะอธิบายวิธีการตั้งค่าการใช้งาน Backend สําหรับฮับการตรวจสอบ

JobSchedulerกําหนดคุณสมบัติในรายชื่อแฟ้มสินค้า

เมื่อต้องการเปิดใช้งานการสนับสนุนงาน รายการต้องระบุชนิดของงานที่สนับสนุน JobSchedulerเพิ่มคุณสมบัติ ไปยังไฟล์รายชื่อแฟ้มรายการสินค้า คุณสมบัติ JobScheduler จะเปิดใช้งานงานที่จัดการโดย Fabric สําหรับรายการของคุณ

ตารางต่อไปนี้แสดงภาพรวมของคุณสมบัติข้อกําหนดที่ได้รับ JobScheduler การสนับสนุน:

คุณสมบัติ รายละเอียด ค่าที่เป็นไปได้
OnDemandJobDeduplicateOptions ตั้งค่าตัวเลือกการทําซ้ําสําหรับงานตามความต้องการสินค้า - None: อย่าทําซ้ํางาน
- PerItem: ตรวจสอบให้แน่ใจว่ามีการรันงานที่ใช้งานอยู่เพียงรายการเดียวสําหรับสินค้าและชนิดงานเดียวกัน
- PerUser: ตรวจสอบให้แน่ใจว่ามีการเรียกใช้งานที่ใช้งานอยู่เพียงรายการเดียวสําหรับผู้ใช้และรายการเดียวกัน
ScheduledJobDeduplicateOptions ตั้งค่าตัวเลือกการทําซ้ําสําหรับงานตามความต้องการสินค้า - None: อย่าทําซ้ํางาน
- PerItem: ตรวจสอบให้แน่ใจว่ามีการรันงานที่ใช้งานอยู่เพียงรายการเดียวเท่านั้นสําหรับสินค้าและชนิดงานเดียวกัน
- PerUser: ตรวจสอบให้แน่ใจว่ามีการเรียกใช้งานที่ใช้งานอยู่เพียงรายการเดียวสําหรับผู้ใช้และรายการเดียวกัน
ItemJobTypes รายการของชนิดงานที่มีคุณสมบัติที่ระบุ - Name: ชื่อของประเภทงานซึ่งสามารถกําหนดเองได้เต็มรูปแบบโดยผู้จัดจําหน่ายซอฟต์แวร์อิสระ (ISV)

ใช้ API ปริมาณงาน

เมื่อต้องรวมกับงาน ปริมาณงานต้องใช้ API ของงานตามที่กําหนดไว้ในข้อมูลจําเพาะของ Swagger

สาม Fabric API เกี่ยวข้องกับงาน:


เริ่มอินสแตนซ์ของงาน

จุดสิ้นสุด: POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}

API นี้ถูกเรียกให้เริ่มต้นการดําเนินการของงาน

  • การตอบสนอง: API ควรส่งกลับ 202 Accepted สถานะ ซึ่งระบุว่างานได้รับการจัดกําหนดการโดยระบบเรียบร้อยแล้ว

รับสถานะอินสแตนซ์ของงาน

จุดสิ้นสุด: GET /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}

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

  • การตอบสนอง: API ควรส่งกลับ 200 OK สถานะพร้อมกับสถานะอินสแตนซ์ของงานปัจจุบัน การตอบสนองควรมีสถานะงาน เวลาเริ่มต้น และเวลาสิ้นสุด และรายละเอียดข้อผิดพลาดถ้างานล้มเหลว

    สถานะของงานที่ได้รับการสนับสนุน:

    • NotStarted
    • InProgress
    • Completed
    • Failed
    • Cancelled

    สิ่งสําคัญ: แม้ว่างานล้มเหลว API นี้ควรแสดง 200 OK สถานะและ Failed สถานะงาน


ยกเลิกอินสแตนซ์งาน

จุดสิ้นสุด: POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}/cancel

เรียกใช้ API นี้เพื่อยกเลิกอินสแตนซ์งานที่กําลังดําเนินอยู่

  • การตอบสนอง: API ควรส่งกลับ 200 OK สถานะพร้อมกับสถานะอินสแตนซ์งานปัจจุบัน การตอบสนองควรมีสถานะงาน เวลาเริ่มต้นและสิ้นสุด และรายละเอียดข้อผิดพลาดถ้างานล้มเหลว

ข้อมูลเพิ่มเติม

จํานวนครั้งของงาน:

งานถูกทําเครื่องหมายเป็น "ตัวอักษรที่ตายแล้ว" โดยแพลตฟอร์ม Fabric หากไม่ได้เริ่มต้นภายใน 2 ชั่วโมง

ตัวอย่างการใช้งาน

สําหรับตัวอย่างการใช้งาน API เหล่านี้ ดู JobsControllerImpl.cs ใน ที่เก็บตัวอย่าง

Frontend

ในส่วนนี้จะอธิบายวิธีการตั้งค่าการใช้งาน frontend สําหรับฮับการตรวจสอบ

เรียกใช้งานใน Fabric UI

หลังจากที่คุณรวมงานลงในรายการของคุณบน Backend ผู้ใช้สามารถเริ่มเรียกใช้งานได้

ผู้ใช้มีสองตัวเลือกในการเรียกใช้งานใน Fabric:

  • งานตามกําหนดการแบบอัตโนมัติ ตัวเลือกนี้ถูกกําหนดโดยผู้ใช้ที่จะเรียกใช้ในช่วงเวลาปกติผ่านประสบการณ์การใช้งานตัวจัดกําหนดการ Fabric ที่ใช้ร่วมกัน
  • ตามความต้องการโดยใช้ UI ปริมาณงานกับ และ SDK ไคลเอ็นต์ส่วนขยาย

ประสบการณ์ตัวจัดกําหนดการเนื้อผ้าจาก UI

  • ตัวเลือกจุดเข้าใช้งาน:

    • ใช้กําหนดการของเมนูบริบท

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

    • ใช้ workloadClient.itemSettings.openที่รหัสการตั้งค่าที่เลือกคือSchedule

  • เค้าโครง

    สกรีนช็อตที่แสดงการตั้งค่าตัวจัดกําหนดการผ้า

    1. เวลาการรีเฟรชที่สําเร็จล่าสุดและเวลาการรีเฟรชครั้งถัดไป
    2. ปุ่ม รีเฟรช
    3. การตั้งค่ากําหนดการรายการ

การเข้าร่วมงาน

ขั้นตอนที่ 1: เพิ่มรายการเมนูบริบทกําหนดการ

เมื่อต้องการแสดงปุ่ม กําหนดการ ในเมนูบริบทรายการ ให้เพิ่มรายการใหม่ลงใน contextMenuItems คุณสมบัติในรายชื่อแฟ้ม frontend ของรายการ:

{
    "name": "schedule"
}

ขั้นตอนที่ 2: เพิ่มการตั้งค่ากําหนดการของรายการ

เพิ่มรายการใหม่ schedule ไปยังคุณสมบัติการตั้งค่ารายการในรายชื่อแฟ้ม frontend:

"schedule": {
    "itemJobType": "ScheduledJob",
    "refreshType": "Refresh"
}
  • itemJobType: ชนิดงานรายการที่กําหนดในไฟล์ XML ข้อกําหนดงานของรายการ
  • refreshType: ระบุการแสดงผลของปุ่มรีเฟรช เลือกจากสามตัวเลือก: ใช้RefreshและRunเพื่อเปิดใช้งานปุ่มรีเฟรชและชื่อที่แสดง หรือตั้งค่าNoneให้ปิดใช้งานปุ่มรีเฟรช

งาน JavaScript API

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

  • API งานที่กําหนดไว้:

    • getItemScheduledJobs(objectId: string): Promise<ItemSchedule>
    • createItemScheduledJobs(createItemScheduledJobs: CreateItemScheduleParams): Promise<ItemSchedule>
    • updateItemScheduledJobs(updateItemScheduleParams: UpdateItemScheduleParams): Promise<ItemSchedule>
  • API อินสแตนซ์ของงานเฉพาะ:

    • runItemJob(jobParams: RunItemJobParams): Promise<ItemJobInstance>
    • cancelItemJob(jobParams: CancelItemJobParams): Promise<CancelItemJobResult>
    • getItemJobHistory(getHistoryParams: GetItemJobHistoryParams): Promise<ItemJobHistory>

หมายเหตุ

getItemJobHistory ส่งกลับงานที่มีสถานะที่จัดเก็บอยู่ใน Fabric ในปัจจุบัน เนื่องจากในขณะนี้ Fabric อาศัยการโพลล์เพียงอย่างเดียว โปรดทราบว่าสถานะอาจไม่ใช่ข้อมูลล่าสุด หากคุณต้องการให้ UI ของคุณแสดงสถานะที่ถูกต้องที่สุดโดยเร็วที่สุดเราขอแนะนําให้คุณได้รับสถานะโดยตรงจาก Backend

รวมกับฮับการตรวจสอบ

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

เปิดใช้งานรายการของคุณในบานหน้าต่างตัวกรองฮับการตรวจสอบ

เมื่อต้องการเพิ่มรายการของคุณไปยังบานหน้าต่างตัวกรอง ให้กําหนดคุณสมบัติใหม่ในรายการรายการ frontend manifest และตั้งค่าsupportedInMonitoringHubเป็นtrue

รวมกับการดําเนินการด่วนของงาน

สกรีนช็อตแสดงปุ่มการดําเนินการด่วนของงานในฮับการตรวจสอบ

ผู้ใช้สามารถดําเนินการชุดของการดําเนินการกับงาน รวมถึงยกเลิก ลองอีกครั้ง และรับรายละเอียด

ทีมปริมาณงานตัดสินใจเลือกรายการที่ต้องการเปิดใช้งานโดยการตั้งค่า itemJobConfig คุณสมบัติในรายการ frontend ถ้าไม่ได้ตั้งค่าไว้ จะมองไม่เห็นไอคอน

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

เมื่อผู้ใช้เลือก ไอคอนยกเลิก ของงานรายการตัวอย่าง เราจะเรียกใช้การดําเนินการ item.job.cancelที่ให้มา บริบทที่เกี่ยวข้องกับงานต่อส่วนขยาย Fabric.WorkloadSample จะถูกนํามาใช้โดยปริมาณงานเพื่อยกเลิกงานจริง

แพลตฟอร์ม Fabric ยังคาดหวังการตอบสนองจากการดําเนินการนี้เพื่อแจ้งให้ผู้ใช้ทราบเกี่ยวกับผลลัพธ์

"itemJobActionConfig": {
    "registeredActions": {
        "detail": {
            "extensionName": "Fabric.WorkloadSample",
                "action": "item.job.detail"
        },
        "cancel": {
            "extensionName": "Fabric.WorkloadSample",
                "action": "item.job.cancel"
        },
        "retry": {
            "extensionName": "Fabric.WorkloadSample",
                "action": "item.job.retry"
        }
    }
}

บานหน้าต่างรายละเอียดงาน

สกรีนช็อตแสดงบานหน้าต่างรายละเอียดงานในฮับการตรวจสอบ

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

ในปัจจุบัน คู่คีย์/ค่าในข้อความธรรมดาหรือไฮเปอร์ลิงก์ได้รับการสนับสนุน

  • สําหรับตัวอย่างของการจัดการการดําเนินการงาน ดู index.worker.ts ในที่เก็บตัวอย่าง ในไฟล์ ให้ค้นหาการดําเนินการที่ขึ้นต้นด้วยitem.job

การเรียกใช้ล่าสุด

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

จุดเข้าใช้งาน:

  • การเรียกใช้ล่าสุดของเมนู>บริบท

    สกรีนช็อตของตัวเลือกการเรียกใช้งานล่าสุดในเมนูตัวเลือก

  • การใช้workloadClient.itemRecentRuns.open

การเข้าร่วมงาน

ขั้นตอนที่ 1: เพิ่ม recentRuns รายการเมนูบริบท

เมื่อต้องการแสดง ปุ่มเรียกใช้ ล่าสุดในเมนูรายการ ให้เพิ่มรายการใหม่ลงใน contextMenuItems คุณสมบัติในรายชื่อแฟ้ม frontend ของรายการ

ตัวอย่าง:

{
    "name": "recentruns"
}

ขั้นตอนที่ 2: เพิ่มการตั้งค่ารายการrecentRun

เพิ่มรายการใหม่ recentRun ไปยังคุณสมบัติการตั้งค่ารายการในรายชื่อแฟ้ม frontend

ตัวอย่าง:

"recentRun": {
     "useRecentRunsComponent": true,
}

การรวมงานในริบบอนรายการตัวอย่าง

ในฐานะที่เป็นส่วนหนึ่งของตัวอย่างปริมาณงาน UI ของเรา เราได้เพิ่มส่วนที่อุทิศให้กับงานไปยังริบบิ้นรายการ

สกรีนช็อตที่แสดงแท็บรายการใน Fabric UI

สําหรับตัวอย่างของวิธีใช้ริบบอนนี้ โปรดดู ItemTabToolbar.tsx ในที่เก็บตัวอย่าง