
ส่งออกคอลเล็กชันไปยัง BigQuery
สร้างโดย Firebase
ส่งการอัปเดตที่เพิ่มขึ้นแบบเรียลไทม์จากคอลเล็กชัน Cloud Firestore ที่ระบุไปยัง BigQuery
ส่วนขยายนี้ทำงานอย่างไร
ใช้ส่วนขยายนี้เพื่อส่งออกเอกสารในคอลเล็กชัน Cloud Firestore ไปยัง BigQuery การส่งออกเป็นแบบเรียลไทม์และเพิ่มขึ้นดังนั้นข้อมูลใน BigQuery จึงเป็นมิเรอร์เนื้อหาของคุณใน Cloud Firestore
ส่วนขยายสร้างและอัปเดต ชุดข้อมูล ที่มีทรัพยากร BigQuery สองรายการต่อไปนี้:
- ตาราง ข้อมูลดิบที่จัดเก็บประวัติการเปลี่ยนแปลงทั้งหมดของเอกสารภายในคอลเล็กชันของคุณ ตารางนี้มีช่องข้อมูลเมตาจำนวนมากเพื่อให้ BigQuery สามารถแสดงสถานะปัจจุบันของข้อมูลของคุณได้ ฟิลด์ข้อมูลเมตาหลักคือการ
timestamp
document_name
และการoperation
สำหรับการเปลี่ยนแปลงเอกสาร - มุมมอง ที่แสดงสถานะปัจจุบันของข้อมูลภายในคอลเล็กชันของคุณ นอกจากนี้ยังแสดงบันทึกการ
operation
ล่าสุดสำหรับเอกสารแต่ละฉบับ (CREATE
UPDATE
เดตหรือIMPORT
)
หากคุณสร้างอัปเดตลบหรือนำเข้าเอกสารในคอลเล็กชันที่ระบุส่วนขยายนี้จะส่งการอัปเดตนั้นไปยัง BigQuery จากนั้นคุณสามารถเรียกใช้แบบสอบถามบนชุดข้อมูลที่มิเรอร์นี้ได้
โปรดทราบว่าส่วนขยายนี้รับฟังการเปลี่ยนแปลง เอกสาร ในคอลเล็กชันเท่านั้น แต่จะไม่เปลี่ยนแปลงในคอลเล็กชัน ย่อย ใด ๆ อย่างไรก็ตามคุณสามารถติดตั้งอินสแตนซ์เพิ่มเติมของส่วนขยายนี้เพื่อฟังคอลเล็กชันย่อยหรือคอลเล็กชันอื่น ๆ ในฐานข้อมูลของคุณโดยเฉพาะ หรือหากคุณมีคอลเล็กชันย่อยเดียวกันในเอกสารในคอลเล็กชันที่กำหนดคุณสามารถใช้ {wildcard}
เพื่อฟังคอลเล็กชันย่อยเหล่านั้นทั้งหมด (เช่น chats/{chatid}/posts
)
การตั้งค่าเพิ่มเติม
ก่อนติดตั้งส่วนขยายนี้คุณจะต้อง:
แทนที่ชุดข้อมูล BigQuery ของคุณ
ส่วนขยายนี้จะส่งเฉพาะเนื้อหาของเอกสารที่มีการเปลี่ยนแปลงโดยจะไม่ส่งออกชุดข้อมูลทั้งหมดของเอกสารที่มีอยู่ไปยัง BigQuery ดังนั้นหากต้องการแทนที่ชุดข้อมูล BigQuery ของคุณด้วยเอกสารทั้งหมดในคอลเล็กชันของคุณคุณสามารถเรียกใช้ สคริปต์การนำเข้าที่ มาจากส่วนขยายนี้ได้
สำคัญ: เรียกใช้สคริปต์การนำเข้าในคอลเลกชันทั้งหมด หลังจาก ติดตั้งส่วนขยายนี้มิฉะนั้นการเขียนทั้งหมดไปยังฐานข้อมูลของคุณในระหว่างการนำเข้าอาจสูญหาย
สร้างมุมมองสคีมา
หลังจากข้อมูลของคุณอยู่ใน BigQuery แล้วคุณสามารถเรียกใช้ สคริปต์มุมมองสคีมา (ที่มาจากส่วนขยายนี้) เพื่อสร้างข้อมูลพร็อพเพอร์ตี้ที่ช่วยให้สืบค้นข้อมูลที่เกี่ยวข้องได้ง่ายขึ้น คุณต้องจัดเตรียมไฟล์สคีมา JSON ที่อธิบายโครงสร้างข้อมูลของคุณเท่านั้นจากนั้นสคริปต์มุมมองสคีมาจะสร้างมุมมอง
การเรียกเก็บเงิน
ในการติดตั้งส่วนขยายโครงการของคุณต้องอยู่ในแผน Blaze (จ่ายตามที่คุณไป)
- คุณจะถูกเรียกเก็บเงินเล็กน้อย (โดยทั่วไปประมาณ $ 0.01 / เดือน) สำหรับทรัพยากร Firebase ที่ส่วนขยายนี้ต้องการ (แม้ว่าจะไม่ได้ใช้ก็ตาม)
- ส่วนขยายนี้ใช้บริการ Firebase และ Google Cloud Platform อื่น ๆ ซึ่งมีค่าใช้จ่ายที่เกี่ยวข้องหากคุณใช้งานเกินระดับฟรีของบริการ:
- BigQuery (ส่วนขยายนี้เขียนไปยัง BigQuery พร้อมด้วย สตรีมมิงแทรก )
- Cloud Firestore
- Cloud Functions (รันไทม์ Node.js 10+ ดูคำถามที่พบบ่อย )
วิธีติดตั้งส่วนขยายนี้
การใช้ Firebase CLI
ในการติดตั้งและจัดการส่วนขยายคุณสามารถใช้ Firebase CLI:
ขั้นตอนที่ 1: รันคำสั่ง npm ต่อไปนี้เพื่อติดตั้ง CLI หรืออัพเดตเป็น CLI เวอร์ชันล่าสุด
npm install -g firebase-toolsไม่ทำงาน? ดู ข้อมูลอ้างอิง Firebase CLI หรือเปลี่ยน สิทธิ์ npm
ขั้นตอนที่ 2: ติดตั้งส่วนขยายนี้โดยเรียกใช้คำสั่งต่อไปนี้
firebase ext:install firestore-bigquery-export --project=projectId_or_alias