แชร์ผ่าน


รับข้อมูลจาก Azure Event Hubs

ในบทความนี้ คุณจะได้เรียนรู้วิธีการรับข้อมูลจากฮับเหตุการณ์ลงในฐานข้อมูล KQL ใน Microsoft Fabric Azure Event Hubs เป็นแพลตฟอร์มการสตรีมข้อมูลขนาดใหญ่และบริการการนําเข้าเหตุการณ์ที่สามารถประมวลผลและนําเหตุการณ์นับล้านต่อวินาทีโดยตรงได้

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

ขั้นตอนที่สองเกิดขึ้นในตัวแสดงเวลาจริงใน Fabric ซึ่งคุณเชื่อมต่อฐานข้อมูล KQL กับฮับเหตุการณ์และกําหนดค่า Schema สําหรับข้อมูลขาเข้า ขั้นตอนนี้สร้างการเชื่อมต่อสองรายการ การเชื่อมต่อแรกเรียกว่า "การเชื่อมต่อระบบคลาวด์" เชื่อมต่อ Microsoft Fabric กับอินสแตนซ์ฮับเหตุการณ์ การเชื่อมต่อที่สองเชื่อมต่อ "การเชื่อมต่อระบบคลาวด์" กับฐานข้อมูล KQL ของคุณ เมื่อคุณเสร็จสิ้นการกําหนดค่าข้อมูลเหตุการณ์และ schema ข้อมูลสตรีมจะพร้อมใช้งานสําหรับการคิวรีโดยใช้ ชุดคิวรี KQL

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

คำเตือน

ฮับเหตุการณ์ของคุณไม่สามารถอยู่หลังไฟร์วอลล์ได้

ตั้งค่านโยบายการเข้าถึงที่แชร์บนฮับเหตุการณ์ของคุณ

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

  1. ใน พอร์ทัล Azure เรียกดูอินสแตนซ์ฮับเหตุการณ์ที่คุณต้องการเชื่อมต่อ

  2. ภายใต้ การตั้งค่า ให้เลือก นโยบายการเข้าถึงที่แชร์

  3. เลือก +เพิ่ม เพื่อเพิ่มนโยบาย SAS ใหม่ หรือเลือกนโยบายที่มีอยู่ที่มีสิทธิ์จัดการ

    สกรีนช็อตของการสร้างนโยบาย SAS ในพอร์ทัล Azure

  4. ใส่ ชื่อนโยบาย

  5. เลือก จัดการ แล้วเลือก สร้าง

รวบรวมข้อมูลสําหรับการเชื่อมต่อระบบคลาวด์

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

สกรีนช็อตแสดงวิธีการกรอกข้อมูลการเชื่อมต่อกับข้อมูลจากพอร์ทัล Azure

การอ้างอิงเขตข้อมูล เขตข้อมูล รายละเอียด ตัวอย่างเช่น
น. อินสแตนซ์ Event Hubs ชื่อของอินสแตนซ์ฮับเหตุการณ์ iotdata
b นโยบาย SAS ชื่อนโยบาย SAS ที่สร้างขึ้นในขั้นตอนก่อนหน้า DocsTest
c คีย์หลัก คีย์ที่เชื่อมโยงกับนโยบาย SAS ในตัวอย่างนี้ เริ่มต้นด้วย PGGIISb009...
d คีย์หลักของสตริงการเชื่อมต่อ ในเขตข้อมูลนี้ คุณต้องการคัดลอก namespace ฮับเหตุการณ์ เท่านั้น ซึ่งสามารถพบได้เป็นส่วนหนึ่งของสายอักขระการเชื่อมต่อ eventhubpm15910.servicebus.windows.net

แหล่งที่มา

  1. ที่ริบบอนด้านล่างของฐานข้อมูล KQL ให้เลือก รับข้อมูล

    ในหน้าต่างรับข้อมูล แท็บแหล่งข้อมูลจะถูกเลือก

  2. เลือกแหล่งข้อมูลจากรายการที่พร้อมใช้งาน ในตัวอย่างนี้ คุณกําลังรวบรวมข้อมูลจาก ฮับเหตุการณ์

    สกรีนช็อตของหน้าต่างรับข้อมูลพร้อมแท็บแหล่งข้อมูลที่เลือก

กำหนดค่า

  1. เลือกตารางเป้าหมาย ถ้าคุณต้องการเก็บข้อมูลลงในตารางใหม่ ให้เลือก + ตาราง ใหม่และป้อนชื่อตาราง

    หมายเหตุ

    ชื่อตารางสามารถมีได้ถึง 1024 อักขระ รวมถึงช่องว่าง พยัญชนะผสมตัวเลข เครื่องหมายยัติภังค์ และขีดล่าง ไม่รองรับอักขระพิเศษ

  2. เลือก สร้างการเชื่อมต่อใหม่ หรือเลือก การเชื่อมต่อ ที่มีอยู่ และข้ามไปยัง ขั้นตอนถัดไป

สร้างการเชื่อมต่อใหม่

  1. กรอกการตั้งค่าการเชื่อมต่อตามตารางต่อไปนี้:

    สกรีนช็อตของแท็บต้นทาง

    การตั้งค่า คำอธิบาย: ค่าตัวอย่าง
    namespace ฮับเหตุการณ์ เขตข้อมูล d จากตารางด้านบน eventhubpm15910.servicebus.windows.net
    ฮับเหตุการณ์ เขตข้อมูล จากตารางด้านบน ชื่อของอินสแตนซ์ฮับเหตุการณ์ iotdata
    Connection เมื่อต้องการใช้การเชื่อมต่อระบบคลาวด์ที่มีอยู่ระหว่าง Fabric และ Event Hubs ให้เลือกชื่อของการเชื่อมต่อนี้ มิฉะนั้น เลือก สร้างการเชื่อมต่อใหม่ สร้างการเชื่อมต่อใหม่
    ชื่อการเชื่อมต่อ ชื่อของการเชื่อมต่อระบบคลาวด์ใหม่ของคุณ ชื่อนี้จะถูกสร้างโดยอัตโนมัติ แต่สามารถเขียนทับได้ ต้องไม่ซ้ํากันภายในผู้เช่า Fabric เชื่อม ต่อ
    ชนิดของการรับรองความถูกต้อง ระบบอัตโนมัติ ในขณะนี้สนับสนุนเฉพาะคีย์การเข้าถึงที่ใช้ร่วมกันเท่านั้น คีย์การเข้าถึงที่ใช้ร่วมกัน
    ชื่อคีย์การเข้าถึงที่ใช้ร่วมกัน เขตข้อมูล b จากตารางด้านบน ชื่อที่คุณกําหนดให้กับนโยบายการเข้าถึงที่ใช้ร่วมกัน DocsTest
    คีย์การเข้าถึงที่ใช้ร่วมกัน เขตข้อมูล c จากตารางด้านบน คีย์หลักของนโยบาย SAS
  2. เลือก บันทึก การเชื่อมต่อข้อมูลระบบคลาวด์ใหม่ระหว่าง Fabric และ Event Hubs จะถูกสร้างขึ้น

เชื่อมต่อการเชื่อมต่อระบบคลาวด์กับฐานข้อมูล KQL ของคุณ

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

  1. กรอกฟิลด์ต่อไปนี้ตามตาราง:

    สกรีนช็อตของการสร้างการเชื่อมต่อฐานข้อมูล

    การตั้งค่า คำอธิบาย: ค่าตัวอย่าง
    กลุ่มผู้บริโภค กลุ่มผู้บริโภคที่เกี่ยวข้องที่กําหนดไว้ในฮับเหตุการณ์ของคุณ สําหรับข้อมูลเพิ่มเติม ดู กลุ่มผู้บริโภค หลังจากเพิ่มกลุ่มผู้บริโภคใหม่คุณจะต้องเลือกกลุ่มนี้จากรายการดรอปดาวน์ NewConsumer
    พารามิเตอร์เพิ่มเติม
    การบีบอัด การบีบอัดข้อมูลของเหตุการณ์ เช่นเดียวกับที่มาจากฮับเหตุการณ์ ตัวเลือกคือ ไม่มี (ค่าเริ่มต้น) หรือการบีบอัด Gzip ไม่มี
    คุณสมบัติของระบบเหตุการณ์ สําหรับข้อมูลเพิ่มเติม ให้ดู คุณสมบัติของระบบฮับเหตุการณ์ ถ้ามีหลายระเบียนต่อข้อความเหตุการณ์ คุณสมบัติของระบบจะถูกเพิ่มไปยังรายการแรก ดู คุณสมบัติของระบบเหตุการณ์
    วันที่เริ่มต้นการเรียกข้อมูลเหตุการณ์ การเชื่อมต่อข้อมูลดึงข้อมูลเหตุการณ์ฮับเหตุการณ์ที่มีอยู่ที่สร้างขึ้นตั้งแต่วันที่เริ่มต้นการเรียกข้อมูลเหตุการณ์ ซึ่งสามารถเรียกใช้เหตุการณ์ที่เก็บรักษาไว้โดยฮับเหตุการณ์เท่านั้นโดยยึดตามระยะเวลาการเก็บข้อมูล โซนเวลาคือ UTC ถ้าไม่ได้ระบุเวลา เวลาเริ่มต้นคือเวลาที่สร้างการเชื่อมต่อข้อมูล
  2. เลือก ถัดไป เพื่อไปต่อยังแท็บ ตรวจสอบ

คุณสมบัติของระบบเหตุการณ์

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

คุณสมบัติ ชนิดข้อมูล คำอธิบาย
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

เมื่อต้องการถอดรหัสส่วนข้อมูลของเหตุการณ์อย่างถูกต้อง:

  1. Bodyแม็ปฟิลด์ของเหตุการณ์ที่รวบรวมไว้กับคอลัมน์ของชนิด dynamic ในตารางปลายทาง
  2. ใช้นโยบายการอัปเดตที่แปลงอาร์เรย์ไบต์เป็นสตริงที่สามารถอ่านได้โดยใช้ฟังก์ชัน unicode_codepoints_to_string()

ตัวเลือกขั้นสูงที่ยึดตามชนิดข้อมูล

ตาราง (CSV, TSV, PSV):

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

  • หากต้องการใช้แถวแรกเป็นชื่อคอลัมน์ ให้เลือก แถวแรกขั้นสูง>คือส่วนหัวของคอลัมน์

    สกรีนช็อตของตัวเลือก CSV ขั้นสูง

JSON:

  • หากต้องการกําหนดการแบ่งคอลัมน์ของข้อมูล JSON ให้เลือกระดับที่ซ้อนกันขั้นสูง>จาก 1 ถึง 100

  • ถ้าคุณเลือกข้ามบรรทัด JSON ขั้นสูง>ที่มีข้อผิดพลาด ข้อมูลจะถูกนําเข้าในรูปแบบ JSON ถ้าคุณยกเลิกการเลือกกล่องกาเครื่องหมายนี้ ระบบจะนําเข้าข้อมูลในรูปแบบ multijson

    สกรีนช็อตของตัวเลือก JSON ขั้นสูง

สรุป

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

สกรีนช็อตของหน้าสรุปที่มีการนําเข้าที่เสร็จสมบูรณ์แล้ว