รับข้อมูลจาก Azure Event Hubs
ในบทความนี้ คุณจะได้เรียนรู้วิธีการรับข้อมูลจากฮับเหตุการณ์ลงในฐานข้อมูล KQL ใน Microsoft Fabric Azure Event Hubs เป็นแพลตฟอร์มการสตรีมข้อมูลขนาดใหญ่และบริการการนําเข้าเหตุการณ์ที่สามารถประมวลผลและนําเหตุการณ์นับล้านต่อวินาทีโดยตรงได้
หากต้องการสตรีมข้อมูลจากฮับเหตุการณ์ลงในตัวแสดงเวลาจริง คุณต้องทําตามขั้นตอนหลักสองขั้นตอน ขั้นตอนแรกจะดําเนินการในพอร์ทัล Azure ที่คุณกําหนดนโยบายการเข้าถึงที่ใช้ร่วมกันในอินสแตนซ์ฮับเหตุการณ์ของคุณ และบันทึกรายละเอียดที่จําเป็นเพื่อเชื่อมต่อในภายหลังผ่านนโยบายนี้
ขั้นตอนที่สองเกิดขึ้นในตัวแสดงเวลาจริงใน Fabric ซึ่งคุณเชื่อมต่อฐานข้อมูล KQL กับฮับเหตุการณ์และกําหนดค่า Schema สําหรับข้อมูลขาเข้า ขั้นตอนนี้สร้างการเชื่อมต่อสองรายการ การเชื่อมต่อแรกเรียกว่า "การเชื่อมต่อระบบคลาวด์" เชื่อมต่อ Microsoft Fabric กับอินสแตนซ์ฮับเหตุการณ์ การเชื่อมต่อที่สองเชื่อมต่อ "การเชื่อมต่อระบบคลาวด์" กับฐานข้อมูล KQL ของคุณ เมื่อคุณเสร็จสิ้นการกําหนดค่าข้อมูลเหตุการณ์และ schema ข้อมูลสตรีมจะพร้อมใช้งานสําหรับการคิวรีโดยใช้ ชุดคิวรี KQL
ข้อกำหนดเบื้องต้น
- การสมัครใช้งาน Azure สร้างบัญชี Azure ฟรี
- ฮับเหตุการณ์
- พื้นที่ทํางานที่มีความจุที่เปิดใช้งาน Microsoft Fabric
- ฐานข้อมูล KQL ที่มีสิทธิ์ในการแก้ไข
คำเตือน
ฮับเหตุการณ์ของคุณไม่สามารถอยู่หลังไฟร์วอลล์ได้
ตั้งค่านโยบายการเข้าถึงที่แชร์บนฮับเหตุการณ์ของคุณ
ก่อนที่คุณจะสามารถสร้างการเชื่อมต่อกับข้อมูล Event Hubs ของคุณได้ คุณจําเป็นต้องตั้งค่านโยบายการเข้าถึงที่แชร์ (SAS) บนฮับเหตุการณ์และรวบรวมข้อมูลบางอย่างที่จะใช้ในภายหลังในการตั้งค่าการเชื่อมต่อ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับรองความถูกต้องในการเข้าถึงทรัพยากร Event Hubs ให้ดู ลายเซ็นการเข้าถึงที่ใช้ร่วมกัน
ใน พอร์ทัล Azure เรียกดูอินสแตนซ์ฮับเหตุการณ์ที่คุณต้องการเชื่อมต่อ
ภายใต้ การตั้งค่า ให้เลือก นโยบายการเข้าถึงที่แชร์
เลือก +เพิ่ม เพื่อเพิ่มนโยบาย SAS ใหม่ หรือเลือกนโยบายที่มีอยู่ที่มีสิทธิ์จัดการ
ใส่ ชื่อนโยบาย
เลือก จัดการ แล้วเลือก สร้าง
รวบรวมข้อมูลสําหรับการเชื่อมต่อระบบคลาวด์
ภายในบานหน้าต่างนโยบาย SAS ให้จดบันทึกสี่เขตข้อมูลต่อไปนี้ คุณอาจต้องการคัดลอกเขตข้อมูลเหล่านี้และวางที่ใดที่หนึ่ง เช่น แผ่นจดบันทึก เพื่อใช้ในขั้นตอนต่อไป
การอ้างอิงเขตข้อมูล | เขตข้อมูล | รายละเอียด | ตัวอย่างเช่น |
---|---|---|---|
น. | อินสแตนซ์ Event Hubs | ชื่อของอินสแตนซ์ฮับเหตุการณ์ | iotdata |
b | นโยบาย SAS | ชื่อนโยบาย SAS ที่สร้างขึ้นในขั้นตอนก่อนหน้า | DocsTest |
c | คีย์หลัก | คีย์ที่เชื่อมโยงกับนโยบาย SAS | ในตัวอย่างนี้ เริ่มต้นด้วย PGGIISb009... |
d | คีย์หลักของสตริงการเชื่อมต่อ | ในเขตข้อมูลนี้ คุณต้องการคัดลอก namespace ฮับเหตุการณ์ เท่านั้น ซึ่งสามารถพบได้เป็นส่วนหนึ่งของสายอักขระการเชื่อมต่อ | eventhubpm15910.servicebus.windows.net |
แหล่งที่มา
ที่ริบบอนด้านล่างของฐานข้อมูล KQL ให้เลือก รับข้อมูล
ในหน้าต่างรับข้อมูล แท็บแหล่งข้อมูลจะถูกเลือก
เลือกแหล่งข้อมูลจากรายการที่พร้อมใช้งาน ในตัวอย่างนี้ คุณกําลังรวบรวมข้อมูลจาก ฮับเหตุการณ์
กำหนดค่า
เลือกตารางเป้าหมาย ถ้าคุณต้องการเก็บข้อมูลลงในตารางใหม่ ให้เลือก + ตาราง ใหม่และป้อนชื่อตาราง
หมายเหตุ
ชื่อตารางสามารถมีได้ถึง 1024 อักขระ รวมถึงช่องว่าง พยัญชนะผสมตัวเลข เครื่องหมายยัติภังค์ และขีดล่าง ไม่รองรับอักขระพิเศษ
เลือก สร้างการเชื่อมต่อใหม่ หรือเลือก การเชื่อมต่อ ที่มีอยู่ และข้ามไปยัง ขั้นตอนถัดไป
สร้างการเชื่อมต่อใหม่
กรอกการตั้งค่าการเชื่อมต่อตามตารางต่อไปนี้:
การตั้งค่า คำอธิบาย: ค่าตัวอย่าง namespace ฮับเหตุการณ์ เขตข้อมูล d จากตารางด้านบน eventhubpm15910.servicebus.windows.net ฮับเหตุการณ์ เขตข้อมูล จากตารางด้านบน ชื่อของอินสแตนซ์ฮับเหตุการณ์ iotdata Connection เมื่อต้องการใช้การเชื่อมต่อระบบคลาวด์ที่มีอยู่ระหว่าง Fabric และ Event Hubs ให้เลือกชื่อของการเชื่อมต่อนี้ มิฉะนั้น เลือก สร้างการเชื่อมต่อใหม่ สร้างการเชื่อมต่อใหม่ ชื่อการเชื่อมต่อ ชื่อของการเชื่อมต่อระบบคลาวด์ใหม่ของคุณ ชื่อนี้จะถูกสร้างโดยอัตโนมัติ แต่สามารถเขียนทับได้ ต้องไม่ซ้ํากันภายในผู้เช่า Fabric เชื่อม ต่อ ชนิดของการรับรองความถูกต้อง ระบบอัตโนมัติ ในขณะนี้สนับสนุนเฉพาะคีย์การเข้าถึงที่ใช้ร่วมกันเท่านั้น คีย์การเข้าถึงที่ใช้ร่วมกัน ชื่อคีย์การเข้าถึงที่ใช้ร่วมกัน เขตข้อมูล b จากตารางด้านบน ชื่อที่คุณกําหนดให้กับนโยบายการเข้าถึงที่ใช้ร่วมกัน DocsTest คีย์การเข้าถึงที่ใช้ร่วมกัน เขตข้อมูล c จากตารางด้านบน คีย์หลักของนโยบาย SAS เลือก บันทึก การเชื่อมต่อข้อมูลระบบคลาวด์ใหม่ระหว่าง Fabric และ Event Hubs จะถูกสร้างขึ้น
เชื่อมต่อการเชื่อมต่อระบบคลาวด์กับฐานข้อมูล KQL ของคุณ
ไม่ว่าคุณจะสร้างการเชื่อมต่อระบบคลาวด์ใหม่ หรือคุณกําลังใช้การเชื่อมต่อที่มีอยู่ คุณจําเป็นต้องกําหนดกลุ่มผู้บริโภค คุณสามารถเลือกที่จะตั้งค่าพารามิเตอร์ที่กําหนดลักษณะของการเชื่อมต่อระหว่างฐานข้อมูล KQL และการเชื่อมต่อคลาวด์เพิ่มเติมได้
กรอกฟิลด์ต่อไปนี้ตามตาราง:
การตั้งค่า คำอธิบาย: ค่าตัวอย่าง กลุ่มผู้บริโภค กลุ่มผู้บริโภคที่เกี่ยวข้องที่กําหนดไว้ในฮับเหตุการณ์ของคุณ สําหรับข้อมูลเพิ่มเติม ดู กลุ่มผู้บริโภค หลังจากเพิ่มกลุ่มผู้บริโภคใหม่คุณจะต้องเลือกกลุ่มนี้จากรายการดรอปดาวน์ NewConsumer พารามิเตอร์เพิ่มเติม การบีบอัด การบีบอัดข้อมูลของเหตุการณ์ เช่นเดียวกับที่มาจากฮับเหตุการณ์ ตัวเลือกคือ ไม่มี (ค่าเริ่มต้น) หรือการบีบอัด Gzip ไม่มี คุณสมบัติของระบบเหตุการณ์ สําหรับข้อมูลเพิ่มเติม ให้ดู คุณสมบัติของระบบฮับเหตุการณ์ ถ้ามีหลายระเบียนต่อข้อความเหตุการณ์ คุณสมบัติของระบบจะถูกเพิ่มไปยังรายการแรก ดู คุณสมบัติของระบบเหตุการณ์ วันที่เริ่มต้นการเรียกข้อมูลเหตุการณ์ การเชื่อมต่อข้อมูลดึงข้อมูลเหตุการณ์ฮับเหตุการณ์ที่มีอยู่ที่สร้างขึ้นตั้งแต่วันที่เริ่มต้นการเรียกข้อมูลเหตุการณ์ ซึ่งสามารถเรียกใช้เหตุการณ์ที่เก็บรักษาไว้โดยฮับเหตุการณ์เท่านั้นโดยยึดตามระยะเวลาการเก็บข้อมูล โซนเวลาคือ UTC ถ้าไม่ได้ระบุเวลา เวลาเริ่มต้นคือเวลาที่สร้างการเชื่อมต่อข้อมูล
คุณสมบัติของระบบเหตุการณ์
คุณสมบัติของระบบจัดเก็บคุณสมบัติที่มีการตั้งค่าโดยบริการฮับเหตุการณ์ในเวลาที่เหตุการณ์ถูกตั้งขึ้น การเชื่อมต่อข้อมูลไปยังฮับเหตุการณ์สามารถฝังชุดคุณสมบัติระบบที่เลือกลงในข้อมูลนําเข้าลงในตารางที่ยึดตามการแมปที่ระบุ
คุณสมบัติ | ชนิดข้อมูล | คำอธิบาย |
---|---|---|
x-opt-enqueued-time | datetime | เวลา UTC เมื่อมีการเข้ารหัสเหตุการณ์ |
x-opt-sequence-number | ยาว | หมายเลขลําดับตรรกะของเหตุการณ์ภายในสตรีมพาร์ติชันของฮับเหตุการณ์ |
x-opt-offset | string | ออฟเซตของเหตุการณ์จากสตรีมพาร์ติชันฮับเหตุการณ์ ตัวระบุออฟเซตจะไม่ซ้ํากันภายในพาร์ติชันของสตรีมฮับเหตุการณ์ |
x-opt-publisher | string | ชื่อผู้เผยแพร่ ถ้ามีการส่งข้อความไปยังจุดสิ้นสุดของผู้เผยแพร่ |
x-opt-partition-key | string | คีย์พาร์ติชันของพาร์ติชันที่สอดคล้องกันซึ่งจัดเก็บเหตุการณ์ |
ตรวจ สอบ
หากต้องการดําเนินการการนําเข้าให้เสร็จสมบูรณ์ ให้เลือก เสร็จสิ้น
เลือก:
เลือก ตัว แสดงคําสั่ง เพื่อดูและคัดลอกคําสั่งอัตโนมัติที่สร้างขึ้นจากข้อมูลป้อนเข้าของคุณ
เปลี่ยนรูปแบบข้อมูลที่อนุมานโดยอัตโนมัติโดยการเลือกรูปแบบที่ต้องการจากดรอปดาวน์ ข้อมูลถูกอ่านจากฮับเหตุการณ์ในรูปแบบของวัตถุ EventData รูปแบบที่ได้รับการสนับสนุนคือ CSV, JSON, PSV, SCsv, SOHsv TSV, TXT และ TSVE
ถ้าข้อมูลที่คุณเห็นในหน้าต่างแสดงตัวอย่างไม่เสร็จสมบูรณ์ คุณอาจต้องการข้อมูลเพิ่มเติมเพื่อสร้างตารางที่มีเขตข้อมูลที่จําเป็นทั้งหมด ใช้คําสั่งต่อไปนี้เพื่อดึงข้อมูลใหม่จากฮับเหตุการณ์ของคุณ:
- ละทิ้งและดึงข้อมูลใหม่: ละทิ้งข้อมูลที่แสดงและค้นหาเหตุการณ์ใหม่
- ดึงข้อมูลเพิ่มเติม: ค้นหาเหตุการณ์เพิ่มเติมนอกเหนือจากเหตุการณ์ที่พบแล้ว
แก้ไขคอลัมน์
หมายเหตุ
- สําหรับรูปแบบตาราง (CSV, TSV, PSV) คุณไม่สามารถแมปคอลัมน์สองครั้ง เมื่อต้องการแมปไปยังคอลัมน์ที่มีอยู่ ก่อนอื่นให้ลบคอลัมน์ใหม่
- คุณไม่สามารถเปลี่ยนชนิดคอลัมน์ที่มีอยู่ได้ ถ้าคุณพยายามแมปไปยังคอลัมน์ที่มีรูปแบบที่แตกต่างกัน คุณอาจมีคอลัมน์ที่ว่างเปล่า
การเปลี่ยนแปลงที่คุณสามารถทําได้ในตารางขึ้นอยู่กับพารามิเตอร์ต่อไปนี้:
- ชนิดตาราง ใหม่หรือมีอยู่
- ชนิดการแมป ใหม่หรือที่มีอยู่
ชนิดของตาราง | ชนิดการแมป | การปรับปรุงที่พร้อมใช้งาน |
---|---|---|
ตารางใหม่ | การแมปใหม่ | เปลี่ยนชื่อคอลัมน์ เปลี่ยนชนิดข้อมูล เปลี่ยนแหล่งข้อมูล การแมปการแปลง เพิ่มคอลัมน์ ลบคอลัมน์ |
ตารางที่มีอยู่ | การแมปใหม่ | เพิ่มคอลัมน์ (ซึ่งคุณสามารถเปลี่ยนชนิดข้อมูล เปลี่ยนชื่อ และอัปเดต) |
ตารางที่มีอยู่ | การแมปที่มีอยู่ | ไม่มี |
การแม็ปการแปลง
การแมปรูปแบบข้อมูลบางอย่าง (Parquet, JSON และ Avro) สนับสนุนการแปลงข้อมูล ingest-time แบบง่าย เมื่อต้องการใช้การแปลงการแมป ให้สร้างหรืออัปเดตคอลัมน์ในหน้าต่าง แก้ไขคอลัมน์
การแปลงข้อมูลการแมปสามารถทําได้ในคอลัมน์ของสตริงชนิดหรือวันที่เวลา ด้วยแหล่งข้อมูลที่มีชนิดข้อมูลเป็น int หรือ long การแปลงการแมปที่สนับสนุนคือ:
- DateTimeFromUnixSeconds
- DateTimeFromUnixMilliseconds
- DateTimeFromUnixMicroseconds
- DateTimeFromUnixNanoseconds
การแมป Schema สําหรับไฟล์ Avro ของ Event Hubs Capture
วิธีหนึ่งในการใช้ข้อมูล Event Hubs คือการจับเหตุการณ์ผ่าน Azure Event Hubs ในที่เก็บข้อมูล Azure Blob หรือ Azure Data Lake Storage จากนั้นคุณสามารถนําเข้าไฟล์จับภาพตามที่เขียนขึ้นโดยใช้ การเชื่อมต่อข้อมูลตารางเหตุการณ์
Schema ของแฟ้มบันทึกจะแตกต่างจาก schema ของเหตุการณ์เดิมที่ส่งไปยังฮับเหตุการณ์ คุณควรออกแบบสคีมาของตารางปลายทางโดยคํานึงถึงความแตกต่างนี้ โดยเฉพาะส่วนข้อมูลเหตุการณ์จะแสดงในไฟล์การจับภาพเป็นอาร์เรย์ไบต์ และอาร์เรย์นี้ไม่ได้ถูกถอดรหัสโดยอัตโนมัติ โดยการเชื่อมต่อข้อมูล Azure Data Explorer ในตารางเหตุการณ์ สําหรับข้อมูลเฉพาะเพิ่มเติมเกี่ยวกับ schema ของไฟล์สําหรับ Event Hubs Avro จับข้อมูล ดูการสํารวจไฟล์ Avro จับภาพใน Azure Event Hubs
เมื่อต้องการถอดรหัสส่วนข้อมูลของเหตุการณ์อย่างถูกต้อง:
Body
แม็ปฟิลด์ของเหตุการณ์ที่รวบรวมไว้กับคอลัมน์ของชนิดdynamic
ในตารางปลายทาง- ใช้นโยบายการอัปเดตที่แปลงอาร์เรย์ไบต์เป็นสตริงที่สามารถอ่านได้โดยใช้ฟังก์ชัน unicode_codepoints_to_string()
ตัวเลือกขั้นสูงที่ยึดตามชนิดข้อมูล
ตาราง (CSV, TSV, PSV):
ถ้าคุณกําลังจัดเก็บรูปแบบตารางในตารางที่มีอยู่ คุณสามารถเลือกขั้นสูง>เก็บ schema ของตารางได้ ข้อมูลแบบตารางไม่จําเป็นต้องรวมชื่อคอลัมน์ที่ใช้ในการแมปข้อมูลต้นทางไปยังคอลัมน์ที่มีอยู่ เมื่อเลือกตัวเลือกนี้ การแมปจะดําเนินการตามลําดับ และ Schema ของตารางยังคงเหมือนเดิม ถ้าไม่ได้เลือกตัวเลือกนี้ คอลัมน์ใหม่จะถูกสร้างขึ้นสําหรับข้อมูลขาเข้าโดยไม่คํานึงถึงโครงสร้างข้อมูล
หากต้องการใช้แถวแรกเป็นชื่อคอลัมน์ ให้เลือก แถวแรกขั้นสูง>คือส่วนหัวของคอลัมน์
JSON:
หากต้องการกําหนดการแบ่งคอลัมน์ของข้อมูล JSON ให้เลือกระดับที่ซ้อนกันขั้นสูง>จาก 1 ถึง 100
ถ้าคุณเลือกข้ามบรรทัด JSON ขั้นสูง>ที่มีข้อผิดพลาด ข้อมูลจะถูกนําเข้าในรูปแบบ JSON ถ้าคุณยกเลิกการเลือกกล่องกาเครื่องหมายนี้ ระบบจะนําเข้าข้อมูลในรูปแบบ multijson
สรุป
ในหน้าต่างการเตรียมข้อมูล ทั้งสามขั้นตอนจะถูกทําเครื่องหมายด้วยเครื่องหมายถูกสีเขียวเมื่อการนําเข้าข้อมูลเสร็จสิ้นเรียบร้อย คุณสามารถเลือกการ์ดที่จะคิวรี วางข้อมูลนําเข้า หรือดูแดชบอร์ดของสรุปการนําเข้าของคุณได้