NotebookUtils ยูทิลิตี้กิจกรรมทางธุรกิจสําหรับ Fabric

ใช้โมดูลนี้notebookutils.businessEventsเพื่อเผยแพร่กิจกรรมทางธุรกิจจากสมุดบันทึก Fabric คุณสามารถเผยแพร่เหตุการณ์เดียวหรือชุดเหตุการณ์ที่ตามสคีมาเหตุการณ์ทางธุรกิจในชุดสคีมาเหตุการณ์

ยูทิลิตี้เหตุการณ์ทางธุรกิจมีให้ใช้งานในโน้ตบุ๊ก Python 3.12 และ PySpark (Python)

ตารางต่อไปนี้แสดงวิธีการที่มีอยู่:

วิธีการ ลายเซ็น คำอธิบาย
help help(methodName: str = '') -> None แสดงความช่วยเหลือสําหรับโมดูลหรือเมธอดที่ระบุ
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool เผยแพร่เหตุการณ์ทางธุรกิจหนึ่งเหตุการณ์หรือมากกว่าไปยังประเภทเหตุการณ์ที่ระบุ

การดูวิธีใช้

รันคําสั่งต่อไปนี้เพื่อดูภาพรวมของโมดูล:

notebookutils.businessEvents.help()

หากต้องการขอความช่วยเหลือสําหรับเมธอด publish ให้ระบุชื่อเมธอด:

notebookutils.businessEvents.help("publish")

เผยแพร่กิจกรรมทางธุรกิจ

ใช้เพื่อ publish() ส่ง payload ที่ตรงกับสคีมาของเหตุการณ์ทางธุรกิจ:

published = notebookutils.businessEvents.publish(
    eventSchemaSetWorkspace="ContosoWorkspace",
    eventSchemaSet="OrderEvents",
    eventTypeName="OrderDelayed",
    eventData={
        "orderId": "12345",
        "status": "delayed",
        "reason": "weather"
    },
    dataVersion="v1"
)

print(f"Published: {published}")

ตารางต่อไปนี้อธิบายพารามิเตอร์:

พารามิเตอร์ Type คำอธิบาย
eventSchemaSetWorkspace String ชื่อหรือ ID ของพื้นที่ทํางานที่มีชุดสคีมาเหตุการณ์
eventSchemaSet String ชื่อหรือ ID ของชุดสคีมาเหตุการณ์
eventTypeName String ชื่อประเภทเหตุการณ์ทางธุรกิจที่จะเผยแพร่
eventData พจนานุกรมหรือรายการพจนานุกรม ภาระงานอีเวนต์ แต่ละพจนานุกรมต้องสอดคล้องกับสคีมาเหตุการณ์ทางธุรกิจที่เลือก
dataVersion String เวอร์ชันของสคีมาเหตุการณ์ทางธุรกิจ ค่าเริ่มต้นคือv1

เมธอดจะคืนค่า True เมื่อเหตุการณ์เผยแพร่สําเร็จ หากไม่สามารถเผยแพร่เหตุการณ์ได้ เมธอดจะสร้างข้อยกเว้น

เผยแพร่เหตุการณ์ทางธุรกิจหลายรายการ

หากต้องการเผยแพร่เหตุการณ์หลายรายการประเภทเดียวกันในการเรียกครั้งเดียว ให้ส่งรายการพจนานุกรมไปยัง eventData:

published = notebookutils.businessEvents.publish(
    eventSchemaSetWorkspace="ContosoWorkspace",
    eventSchemaSet="OrderEvents",
    eventTypeName="OrderDelayed",
    eventData=[
        {
            "orderId": "12345",
            "status": "delayed",
            "reason": "weather"
        },
        {
            "orderId": "12346",
            "status": "delayed",
            "reason": "traffic"
        }
    ],
    dataVersion="v1"
)

print(f"Published: {published}")

เพย์โหลดทั้งหมดในรายการต้องเป็นไปตามเวอร์ชันสคีมาที่ระบุโดยdataVersion

ข้อควรพิจารณา

  • สร้างประเภทเหตุการณ์ทางธุรกิจและสคีมาของมันก่อนที่คุณจะเผยแพร่เหตุการณ์จากสมุดบันทึก
  • ใช้ชื่อหรือ ID สําหรับ eventSchemaSetWorkspace และeventSchemaSet
  • จับคู่ชื่อคุณสมบัติ ชนิดข้อมูล และฟิลด์ eventData ที่จําเป็นให้ตรงกับเวอร์ชันสคีมาที่เลือก
  • จัดการข้อยกเว้นจาก publish() ที่สมุดบันทึกและ pipeline จะรันรายงานการเผยแพร่ล้มเหลว