บทช่วยสอน: สร้างกฎ Activator แบบ end-to-end โดยใช้ AI ตัวแทน

Fabric Activator ตรวจจับรูปแบบในการสตรีมข้อมูลและดําเนินการเมื่อตรงตามเงื่อนไข ในบทช่วยสอนนี้ คุณใช้ตัวแทน AI เพื่อสร้างไปป์ไลน์แบบ end-to-end ไปป์ไลน์จะเฝ้าดูสตรีมของเหตุการณ์การวัดและส่งข้อมูลทางไกล ตรวจจับความร้อนสูงเกินไปอย่างต่อเนื่อง และเรียกใช้ Fabric User Data Function (UDF) เพื่อยื่นงานซ่อมแซม คุณเขียนข้อความแจ้ง ตัวแทนทําหน้าที่เขียน

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

ในบทช่วยสอนนี้ คุณทํางานต่อไปนี้ให้เสร็จสมบูรณ์:

  • ตั้งค่าสตรีมเหตุการณ์ผ่านฮับเหตุการณ์ของคุณ
  • สร้างฟังก์ชันข้อมูลผู้ใช้เพื่อยื่นงานซ่อมแซม
  • เขียนกฎ Activator ที่ทริกเกอร์ฟังก์ชัน

หากคุณเพิ่งเริ่มใช้ Fabric Activator โปรดดู Fabric Activator คืออะไร หากคุณเพิ่งเริ่มใช้ Fabric User Data Functions โปรดดู Fabric User Data Functions คืออะไร

ภาพรวมของสถานการณ์

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

สําหรับบทช่วยสอนนี้ แต่ละเหตุการณ์จะใช้สคีมาตัวแทนขนาดเล็ก: รหัสต่อเครื่อง (machine_id), แท็กตําแหน่ง (plant_id), เมตริกตัวเลขเพื่อตรวจสอบ (temperature_c) และฟิลด์สถานะรัน (state) ชื่อฟิลด์ที่แน่นอนไม่สําคัญ รูปร่างพร้อมท์เดียวกันใช้ได้กับรหัสต่อเอนทิตีใดๆ บวกกับเมตริกที่คุณต้องการกําหนดเกณฑ์

คุณสร้างไปป์ไลน์ Fabric ที่เฝ้าดูสตรีมการวัดและส่งข้อมูลทางไกล ใช้กฎเกณฑ์ที่ยั่งยืน และเรียกใช้ฟังก์ชันข้อมูลผู้ใช้เพื่อยื่นงานซ่อมแซม กฎจะจัดกลุ่มเหตุการณ์ตาม machine_id และยิงเมื่อ temperature_c อุณหภูมิสูงกว่า 50°C เป็นเวลา 5 นาที เมื่อมันยิงมันจะผ่าน machine_id, plant_idและอุณหภูมิปัจจุบันเข้าสู่การกระทํา

ไดอะแกรมสถาปัตยกรรมของการวัดและส่งข้อมูลทางไกลที่ไหลจากเครื่องผ่าน Azure Event Hubs, กระแสเหตุการณ์ Fabric, กฎ Activator และ UDF.

ข้อกำหนดเบื้องต้น

ก่อนที่คุณจะเริ่มต้น คุณจําเป็นต้องมี:

  • พื้นที่ทํางาน Fabric บนความจุ F4 (หรือสูงกว่า) พร้อมสิทธิ์ในการเขียน เมื่อต้องการเรียนรู้เกี่ยวกับพื้นที่ทํางาน ให้ดูที่ พื้นที่ทํางาน
  • เอเจนต์ที่เข้ากันได้กับทักษะ เช่น GitHub Copilot CLI หรือ GitHub Copilot ใน Visual Studio Code ที่ติดตั้งทักษะ Fabric
  • เนมสเปซและฮับ Azure Event Hubs ที่สตรีมการวัดและส่งข้อมูลทางไกล คุณต้องมี namespace FQDN ชื่อฮับ และ Listen+Send สายอักขระการเชื่อมต่อ

ตั้งค่าสตรีมเหตุการณ์

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

  1. ให้ตัวแทนพร้อมท์นี้ โดยแทนที่ตัวยึดด้วยค่าจากฮับเหตุการณ์ของคุณ:

    Create a Fabric eventstream in my workspace called `WidgetMachineTelemetry` that ingests from this Azure event hub:
    
    - Namespace: `<your namespace FQDN>`
    - Hub name: `<your hub name>`
    - Connection string: `<your Listen+Send connection string>`
    
    When you're done, give me a direct portal link to the eventstream item so I can verify it.
    
  2. ตัวแทนเรียกใช้ทักษะการเขียนสตรีมเหตุการณ์ สร้างรายการสตรีมเหตุการณ์ กําหนดค่าฮับเหตุการณ์เป็นแหล่งข้อมูล และส่งคืน URL ที่คลิกได้ไปยังรายการในพอร์ทัล Fabric คุณไม่จําเป็นต้องมีปลายทาง Activator จะสมัครรับสตรีมโดยตรง

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

    สกรีนช็อตของสตรีมเหตุการณ์ WidgetMachineTelemetry ที่แสดงแหล่งที่มาของฮับเหตุการณ์ที่เชื่อมต่อและปลายทางของ Activator พร้อมการแสดงตัวอย่างข้อมูลสด

    รูปที่ 1: WidgetMachineTelemetry eventstream—เหตุการณ์จะไหลจากแหล่งที่มาของ widget-telemetry ฮับเหตุการณ์ผ่านสตรีมไปยังปลายทางของ WidgetMachineMaintenance Activator

สร้างฟังก์ชันข้อมูลผู้ใช้

ในขั้นตอนนี้ คุณสร้างฟังก์ชันข้อมูลผู้ใช้ที่กฎ Activator ของคุณเรียก ฟังก์ชันจะส่งคําของานซ่อมแซมไปยัง API ดาวน์สตรีมของคุณ

  1. แจ้งให้ตัวแทนทราบดังนี้

    Create a Fabric User Data Function called `MaintenanceDispatcher` in my workspace, written in Python, with a function `file_repair_job(machine_id, plant_id, temperature_c)` that sends those values as JSON in a POST request to `https://contoso.com/maintenance/fileRepairJob` and returns the parsed response.
    
    When you're done, give me a direct portal link to the UDF item so I can verify it.
    
  2. ตัวแทนเรียกใช้ทักษะการเขียน Fabric UDF ใช้ Python< c0 /> กับ เผยแพร่ UDF ยืนยันว่าฟังก์ชันสามารถเรียกได้ และส่งคืน URL ที่คลิกได้ไปยังรายการ

  3. เลือกลิงก์ที่ตัวแทนมอบให้คุณ จากนั้นใช้บานหน้าต่าง ทดสอบ ที่มีอยู่แล้วภายในเพื่อเรียกใช้ file_repair_job ด้วยเพย์โหลดตัวอย่าง ตัวอย่างเช่น: machine_id="widget-press-042", , plant_id="plant-eu-01". temperature_c=52.7 การเรียกเพื่อ contoso.com ส่งคืนข้อผิดพลาด HTTP ซึ่งเป็นสิ่งที่คาดไว้ เนื่องจากตําแหน่งข้อมูลตัวยึดตําแหน่งไม่ได้รับการแก้ไข ลักษณะการทํางานที่สําคัญคือ UDF ปรับใช้ ลงทะเบียน และเข้าถึงการเรียก HTTP ขาออก

    สกรีนช็อตของฟังก์ชันข้อมูลผู้ใช้ MaintenanceDispatcher ที่แสดงแหล่งข้อมูล file_repair_job Python ในตัวแก้ไขพอร์ทัล.

    รูปที่ 2: MaintenanceDispatcher ฟังก์ชันข้อมูลผู้ใช้—file_repair_job ส่งรายละเอียดของเครื่องร้อนเกินไปไปยังระบบบํารุงรักษา

Note

บทช่วยสอนนี้ใช้ https://contoso.com/maintenance/fileRepairJob เป็นตัวยึดตําแหน่งสําหรับจุดสิ้นสุดของระบบการบํารุงรักษาจริง แทนที่ด้วยปลายทาง HTTPS ของคุณเอง สําหรับจุดสิ้นสุดที่รับรองความถูกต้อง ให้ดึงข้อมูลประจําตัวจาก Azure Key Vault ผ่านการเชื่อมต่อทั่วไป UDF สําหรับข้อมูลเพิ่มเติม โปรดดู เข้าถึงแหล่งข้อมูลใน Fabric ฟังก์ชันข้อมูลผู้ใช้

ผู้เขียนกฎ Activator

ในขั้นตอนนี้ คุณสร้างกฎ Activator ที่เฝ้าดูสตรีมเหตุการณ์และเรียก UDF ของคุณเมื่อเครื่องร้อนเกินไป

  1. แจ้งให้ตัวแทนทราบดังนี้

    Create an Activator rule in my workspace subscribed to the `WidgetMachineTelemetry` eventstream, that triggers my `file_repair_job` UDF when a machine's temperature stays above 50°C for 5 minutes.
    
    When you're done, give me a direct portal link to the rule so I can verify it.
    
  2. เอเจนต์เรียกใช้ทักษะการเขียน Activator และสร้างไอเท็ม Activator เอเจนต์จัดกลุ่มกฎตาม machine_idสร้างการตรวจหาเกณฑ์แบบต่อเนื่อง และกําหนดค่าการดําเนินการเพื่อเรียก UDF machine_idของคุณด้วย , plant_idและอุณหภูมิปัจจุบัน จากนั้นตัวแทนจะส่งคืน URL ที่คลิกได้ไปยังกฎ

  3. เลือกลิงก์ที่ตัวแทนมอบให้คุณ จากนั้นดูรายการตรวจสอบนี้:

    • ข้อมูลกําลังไหลเข้าสู่กฎ เปิดออบเจ็กต์ Activator พื้นฐานของกฎในบานหน้าต่าง Explorer และยืนยันว่าเหตุการณ์ล่าสุดปรากฏในตารางที่ใช้งานจริงด้วยค่าที่ไม่ใช่ Null machine_id และ temperature_c ค่า
    • กฎกําลังทํางานอยู่ ยืนยันว่ากฎอยู่ในสถานะ เริ่มต้น หรือ กําลังทํางาน และสรุปออบเจ็กต์ Activator จะแสดงเครื่องของคุณเป็นอินสแตนซ์ที่ใช้งานอยู่
    • ตัวแทนบันทึกการเปิดใช้งาน เนื่องจากเครื่องที่ร้อนเกินไปจะสูงกว่า 50°C เป็นเวลา 5 นาที รายการจะปรากฏในแท็บ ประวัติ ของกฎ โดยแต่ละรายการจะแสดง machine_id สิ่งที่ทริกเกอร์ อุณหภูมิ ณ เวลายิง และการโทรที่ file_repair_jobสําเร็จ

    สกรีนช็อตของกฎ OverheatingDispatch Activator ที่กําลังทํางานอยู่ โดยมีการดําเนินการเรียก file_repair_job UDF และส่งผ่าน ID เครื่อง รหัสโรงงาน และอุณหภูมิเป็นพารามิเตอร์

    รูปที่ 3: OverheatingDispatch กฎ Activator - เริ่มทํางานเมื่ออุณหภูมิของเครื่องสูงกว่า 50°C เป็นเวลา 5 นาที โดยเรียกใช้ file_repair_job ข้อมูลประจําตัวของเครื่อง

ล้างแหล่งข้อมูล

เมื่อคุณทําเสร็จแล้ว ให้ลบรายการ eventstream, User Data Function และ Activator ออกจากพื้นที่ทํางานของคุณ และลบเนมสเปซฮับเหตุการณ์ออกจากพอร์ทัล Azure เพื่อหยุดการเรียกเก็บเงิน