แชร์ผ่าน


เพิ่มแหล่งข้อมูล MongoDB CDC ไปยังสตรีมเหตุการณ์ (พรีวิว)

บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูล MongoDB Change Data Capture (CDC) ไปยังสตรีมเหตุการณ์

ตัวเชื่อมต่อ MongoDB CDC สําหรับ Eventstream ช่วยให้คุณสามารถสตรีมเหตุการณ์ Change Data Capture (CDC) จาก MongoDB ไปยัง Fabric Eventstream รองรับการปรับใช้ MongoDB หลายประเภท รวมถึงในองค์กร โฮสต์บนคลาวด์ และ MongoDB Atlas ทําให้สามารถใช้งาน CDC ได้หลากหลายสถานการณ์ ด้วยตัวเชื่อมต่อนี้ คุณสามารถบันทึกการเปลี่ยนแปลงฐานข้อมูลแบบเรียลไทม์และสตรีมไปยัง Eventstream ได้โดยตรงเพื่อการประมวลผลและการวิเคราะห์ในทันที

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

  • พื้นที่ทํางานในโหมดความจุ Fabric หรือโหมดสิทธิ์การใช้งาน Trial ที่มีสิทธิ์ ผู้สนับสนุน หรือสูงกว่า
  • คลัสเตอร์ MongoDB ที่สามารถเข้าถึงได้จากที่อยู่ IP ของไคลเอ็นต์ของคุณ
  • เปิดใช้งานการบันทึกข้อมูลการเปลี่ยนแปลง (CDC) สําหรับคอลเลกชันที่คุณต้องการบันทึก
  • สตรีมเหตุการณ์ใน Fabric หากยังไม่มี ให้สร้างสตรีมเหตุการณ์

ตั้งค่าอินสแตนซ์ MongoDB

ตัวอย่างนี้ใช้ MongoDB Atlas ซึ่งเป็นบริการ MongoDB ที่มีการจัดการบน MongoDB Cloud

หากต้องการบันทึกการเปลี่ยนแปลง คุณต้องเปิดใช้งานการบันทึกข้อมูลการเปลี่ยนแปลง (CDC) สําหรับคอลเลกชันเป้าหมาย

เรียกใช้คําสั่งต่อไปนี้ในเชลล์ MongoDB เพื่อเปิดใช้งาน CDC สําหรับคอลเลกชัน:

db.runCommand({
  collMod: "<collectionName>",
  changeStreamPreAndPostImages: { enabled: true }
});

Note

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

คุณต้องสร้างหรือใช้ผู้ใช้ MongoDB ที่มีอยู่ด้วย read บทบาท (หรือสูงกว่า) บนฐานข้อมูลเป้าหมาย ใน MongoDB Atlas บน MongoDB Cloud ไปที่ การเข้าถึงฐานข้อมูล เพื่อยืนยันบทบาทของผู้ใช้

ภาพหน้าจอที่แสดงวิธีการแก้ไขบทบาทสําหรับฐานข้อมูล MongoDB

ใน MongoDB Atlas บน MongoDB Cloud ไปที่ Network Access และเพิ่มที่อยู่ IP ไคลเอ็นต์ของคุณลงในรายการการเข้าถึง IP

สกรีนช็อตที่แสดงวิธีการเพิ่มรายการ ID

เพิ่ม MongoDB (CDC) เป็นแหล่งที่มา

หากคุณยังไม่ได้เพิ่มแหล่งข้อมูลใดๆ ลงในสตรีมเหตุการณ์ของคุณ ให้เลือกไทล์ ใช้แหล่งข้อมูลภายนอก

สกรีนช็อตที่แสดงการเลือกไทล์สําหรับการใช้แหล่งข้อมูลภายนอก

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

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

บนหน้า เลือกแหล่งข้อมูล ให้ค้นหาและเลือก เชื่อมต่อ บนไทล์ MongoDB (CDC)

สกรีนช็อตที่แสดงการเลือก MongoDB (CDC) เป็นชนิดแหล่งที่มาในตัวช่วยสร้าง รับเหตุการณ์

กําหนดค่าและเชื่อมต่อกับ MongoDB (CDC)

  1. เลือกประเภทอินสแตนซ์ MongoDB: MongoDB Atlas หรือ MongoDB (จัดการด้วยตนเอง)

  2. การเชื่อมต่อ:

    1. หากคุณเลือก MongoDB Atlas:

      1. บนหน้าจอ เชื่อมต่อ ภายใต้ การเชื่อมต่อ ให้เลือก การเชื่อมต่อใหม่ เพื่อสร้างการเชื่อมต่อระบบคลาวด์

        สกรีนช็อตที่แสดงหน้า เชื่อมต่อ

      2. ป้อน การตั้งค่าการเชื่อมต่อ และ ข้อมูลรับรองการเชื่อมต่อต่อไปนี้:

      • เซิร์ฟเวอร์: สตริงการเชื่อมต่อสําหรับคลัสเตอร์ Atlas ของคุณ เช่น cluster0.example.mongodb.net.

      • คลัสเตอร์: ฟิลด์นี้ไม่บังคับ ชื่อคลัสเตอร์เป็นส่วนหนึ่งของเซิร์ฟเวอร์อยู่แล้ว ดังนั้นคุณสามารถเว้นว่างไว้ได้

      • ชื่อการเชื่อมต่อ: สร้างขึ้นโดยอัตโนมัติ หรือคุณสามารถป้อนชื่อใหม่สําหรับการเชื่อมต่อนี้

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

        ภาพหน้าจอของการตั้งค่าการเชื่อมต่อสําหรับ MongoDB Atlas

    2. หากคุณเลือก MongoDB (จัดการด้วยตนเอง):

      1. บนหน้าจอ เชื่อมต่อ ภายใต้ การเชื่อมต่อ ให้เลือก การเชื่อมต่อใหม่ เพื่อสร้างการเชื่อมต่อระบบคลาวด์

        สกรีนช็อตที่แสดงหน้า เชื่อมต่อ

      2. ป้อน การตั้งค่าการเชื่อมต่อ และ ข้อมูลรับรองการเชื่อมต่อต่อไปนี้:

      • เซิร์ฟเวอร์: สตริงการเชื่อมต่อสําหรับเซิร์ฟเวอร์ MongoDB ที่จัดการด้วยตนเอง เช่น mongodb0.example.com:27017.

      • ชื่อการเชื่อมต่อ: สร้างขึ้นโดยอัตโนมัติ หรือคุณสามารถป้อนชื่อใหม่สําหรับการเชื่อมต่อนี้

      • ชื่อผู้ใช้ และ รหัสผ่าน: ใช้ผู้ใช้ที่มีสิทธิ์อ่านหรือสูงกว่าเพื่อเข้าถึงฐานข้อมูลและคอลเลกชันเป้าหมาย

        ภาพหน้าจอของการตั้งค่าการเชื่อมต่อสําหรับ MongoDB (จัดการด้วยตนเอง)

  3. ป้อนข้อมูลต่อไปนี้เพื่อกําหนดค่าแหล่งข้อมูล MongoDB CDC แล้วเลือก ถัดไป

    • ฐานข้อมูล: เลือกทั้งหมด (ค่าเริ่มต้น) หรือป้อนชื่อฐานข้อมูล ถ้าคุณเลือกอย่างหลัง ให้ระบุรายการนิพจน์ทั่วไปที่คั่นด้วยจุลภาคที่ตรงกับชื่อฐานข้อมูลที่จะตรวจสอบ
    • คอลเลกชัน: เลือกทั้งหมด (ค่าเริ่มต้น) หรือป้อนชื่อคอลเลกชัน หากคุณเลือกอย่างหลัง ให้ระบุรายการนิพจน์ทั่วไปที่คั่นด้วยจุลภาคที่ตรงกับเนมสเปซที่มีคุณสมบัติครบถ้วน (เช่น dbName.collectionName) ของคอลเลกชัน MongoDB เพื่อตรวจสอบ
  4. คุณสามารถขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่งที่มา MongoDB CDC:

    • โหมดสแนปชอต: ตัวเลือกคือ:
      • เริ่มต้น (ค่าเริ่มต้น): ระบุว่าตัวเชื่อมต่ออ่านสแน็ปช็อตเมื่อไม่พบออฟเซ็ต หรือหากสตรีม oplog/change ไม่มีออฟเซ็ตก่อนหน้าอีกต่อไป
      • initial_only: ตัวเชื่อมต่อทําสแนปช็อตฐานข้อมูล หลังจากสแนปช็อตเสร็จสมบูรณ์ ตัวเชื่อมต่อจะหยุดทํางาน และไม่สตรีมเรกคอร์ดเหตุการณ์สําหรับการเปลี่ยนแปลงฐานข้อมูลในภายหลัง
      • no_data: ตัวเชื่อมต่อจะบันทึกโครงสร้างของตารางที่เกี่ยวข้องทั้งหมด แต่ไม่ได้สร้างเหตุการณ์ READ เพื่อแสดงชุดข้อมูล ณ จุดเริ่มต้นของตัวเชื่อมต่อ

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

    สกรีนช็อตของการเลือกตาราง รหัสเซิร์ฟเวอร์ และพอร์ตสําหรับการเชื่อมต่อ MongoDB (CDC)

  5. ในหน้า Review + connect หลังจากตรวจสอบข้อมูลสรุปสําหรับแหล่งที่มา MongoDB CDC แล้ว ให้เลือก Add เพื่อกําหนดค่าให้เสร็จสิ้น

    สกรีนช็อตที่แสดงหน้า รีวิว + เชื่อมต่อ โดยเลือกปุ่ม เพิ่ม

ดูเหตุการณ์ที่อัปเดตแล้ว

คุณจะเห็นแหล่งที่มาของ MongoDB (CDC) ที่เพิ่มลงในสตรีมเหตุการณ์ของคุณในโหมดแก้ไข

ภาพหน้าจอของแหล่งที่มา MongoDB CDC ที่เพิ่มในโหมดแก้ไขโดยเน้นปุ่มเผยแพร่

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

ภาพหน้าจอของแหล่งที่มา MongoDB CDC ที่เพิ่มในโหมดถ่ายทอดสด

การจำกัด

  • ขณะนี้แหล่งที่มาของ MongoDB CDC ไม่รองรับคุณสมบัติ CI/CD รวมถึง Git Integration and Deployment Pipeline การพยายามส่งออกหรือนําเข้ารายการ Eventstream ที่มีแหล่งที่มานี้ไปยังที่เก็บ Git อาจส่งผลให้เกิดข้อผิดพลาด

ตัวเชื่อมต่ออื่นๆ: