Firebase Data Connect มีโปรแกรมจำลองในเครื่องสำหรับการสร้างต้นแบบแบบครบวงจร รวมถึงการรวมอย่างต่อเนื่องและการติดตั้งใช้งานอย่างต่อเนื่อง (CI/CD) ดังนี้
- Data Connect โปรแกรมจำลองจะโต้ตอบกับอินสแตนซ์ฐานข้อมูล PGLite ที่ผสานรวมในเครื่องเพื่อให้คุณสร้างต้นแบบการค้นหาและการเปลี่ยนแปลง รวมถึงทดสอบโค้ดไคลเอ็นต์ในสภาพแวดล้อมในเครื่องได้อย่างเต็มที่
- นอกจากนี้ยังใช้โปรแกรมจำลอง Data Connect สำหรับงานที่ไม่ต้องโต้ตอบได้ด้วย ซึ่งช่วยให้คุณเรียกใช้การทดสอบอัตโนมัติและเหมาะสําหรับใช้กับเวิร์กโฟลว์ CI/CD ซึ่งจะมีประโยชน์เมื่อสคีมามีความเสถียรและคุณต้องการสร้างต้นแบบ และทดสอบโค้ดฝั่งไคลเอ็นต์
คู่มือนี้ครอบคลุมการติดตั้งและการใช้งานโปรแกรมจำลองอย่างละเอียดกว่า คู่มือเริ่มใช้งานฉบับย่อ
ติดตั้งโปรแกรมจำลอง Data Connect
ก่อนติดตั้ง Local Emulator Suite เพื่อใช้โปรแกรมจำลอง Data Connect คุณจะต้องมีสิ่งต่อไปนี้
- Node.js เวอร์ชัน 18.0 ขึ้นไป
ติดตั้ง Firebase CLI และตั้งค่าไดเรกทอรีโปรเจ็กต์
ติดตั้ง Firebase CLI โดยทำตามคู่มือการติดตั้ง อย่าลืมอัปเดตเป็นประจำ เนื่องจากโปรแกรมจำลอง Data Connect อยู่ระหว่างการพัฒนาอย่างต่อเนื่องพร้อมการแก้ไขข้อบกพร่องและฟีเจอร์ใหม่ๆ
หากยังไม่ได้ดำเนินการ ให้เริ่มต้นไดเรกทอรีการทำงานปัจจุบันเป็น โปรเจ็กต์ Firebase โดยทำตามข้อความแจ้งเพื่อระบุผลิตภัณฑ์ที่จะใช้
firebase init
ตั้งค่าหรือแก้ไขการกำหนดค่า Local Emulator Suite
หากคุณเริ่มData Connectโปรแกรมจำลองจากส่วนขยาย Firebase VS Code ระบบจะติดตั้งโปรแกรมจำลองให้คุณหากจำเป็น
คุณใช้ Firebase CLI เพื่อติดตั้งโปรแกรมจำลองด้วยตนเองพร้อมกับ คอมโพเนนต์อื่นๆ ที่เลือกของ Local Emulator Suite ได้ คำสั่งนี้จะเริ่มวิซาร์ดการกำหนดค่าที่ให้คุณเลือกโปรแกรมจำลองที่สนใจ ดาวน์โหลดไฟล์ไบนารีของโปรแกรมจำลองที่เกี่ยวข้อง และตั้งค่าพอร์ตของโปรแกรมจำลองหากค่าเริ่มต้นไม่เหมาะสม
firebase init emulators
เมื่อติดตั้งโปรแกรมจำลองแล้ว ระบบจะไม่ตรวจหาการอัปเดตและจะไม่มีการดาวน์โหลดอัตโนมัติเพิ่มเติม จนกว่าคุณจะอัปเดตFirebaseเวอร์ชัน CLI
เลือกโปรเจ็กต์ Firebase
ในขั้นตอนการตั้งค่า Firebase CLI จะแจ้งให้คุณเลือกหรือสร้าง โปรเจ็กต์ Firebase หากเลือกโปรเจ็กต์ที่มีอยู่ซึ่งคุณตั้งค่าด้วย Data Connect ในคอนโซล Firebase ระบบจะแนะนำการกำหนดค่าที่คุณเลือก ไว้
ตั้งค่าโปรแกรมจำลอง
กำหนดค่าโปรแกรมจำลอง
การเรียกใช้โฟลว์ firebase init
จะแนะนำตัวเลือกการตั้งค่าโปรแกรมจำลองให้คุณ
เช่นเดียวกับโปรแกรมจำลองอื่นๆ ใน Local Emulator Suite ระบบจะจัดเก็บพารามิเตอร์การกำหนดค่า
ไว้ในไฟล์โปรเจ็กต์ในเครื่อง
- ไฟล์
firebase.json
ของคุณมีการกำหนดพอร์ตของโปรแกรมจำลอง- คีย์
emulators:ui
ใช้กับโปรแกรมจำลอง Data Connect ไม่ได้
- คีย์
ทำงานร่วมกับแหล่งข้อมูลในพื้นที่และแหล่งข้อมูลของData Connect
หากต้องการให้มั่นใจว่าจะไม่ส่งผลต่อทรัพยากรการผลิต ให้ตั้งค่า demo-
projectID หรือตรวจสอบว่าโค้ดไคลเอ็นต์ได้รับการวัดผลเพื่อเชื่อมต่อกับ
โปรแกรมจำลองตามที่อธิบายไว้ในส่วนถัดไป
เริ่มโปรแกรมจำลอง
หากคุณเรียกใช้โปรแกรมจำลองแบบไม่โต้ตอบ เช่น สำหรับเวิร์กโฟลว์ CI/CD
ให้เริ่มต้นด้วยตัวเลือก exec
firebase emulators:exec ./path/to/test-script.sh
หากคุณผสานรวมการค้นหาและการเปลี่ยนแปลงที่กำหนดไว้ล่วงหน้าในโค้ดฝั่งไคลเอ็นต์และใช้โปรแกรมจำลองสำหรับการทดสอบไคลเอ็นต์โดยเฉพาะ คุณสามารถใช้start
ตัวเลือกสำหรับการทำงานแบบอินเทอร์แอกทีฟได้ นอกจากนี้ คุณยังเริ่มโปรแกรมจำลองจากส่วนขยาย VS Code
ได้ด้วย
firebase emulators:start
ใช้โค้ดฝั่งไคลเอ็นต์เป็นเครื่องมือในการสื่อสารกับโปรแกรมจำลอง
ตั้งค่าในแอปหรือคลาสทดสอบเพื่อโต้ตอบกับ Data Connectโปรแกรมจำลองดังนี้
JavaScript
import { initializeApp } from "firebase/app"; import { connectorConfig } from "@name-of-package"; import { connectDataConnectEmulator, getDataConnect } from 'firebase/data-connect'; // TODO: Replace the following with your app's Firebase project configuration const firebaseConfig = { //... }; const app = initializeApp(firebaseConfig); const dataConnect = getDataConnect(app, connectorConfig); connectDataConnectEmulator(dataConnect, "localhost", 9399); // Make calls from your app
Kotlin Android
val connector = MoviesConnector.instance // Connect to the emulator on "10.0.2.2:9399" connector.dataConnect.useEmulator() // (Alternatively) if you're running your emulator on non-default port: connector.dataConnect.useEmulator(port = 9999) // Make calls from your app
iOS
let connector = DataConnect.dataConnect(DefaultConnectorClient.connectorConfig) // Connect to the emulator on "127.0.0.1:9399" connector.useEmulator() // (alternatively) if you're running your emulator on non-default port: connector.useEmulator(port: 9999) // Make calls from your app
ใช้โปรแกรมจำลองสำหรับการทดสอบและการรวมอย่างต่อเนื่อง
เรียกใช้อิมเมจ Local Emulator Suite ที่สร้างโดยใช้คอนเทนเนอร์
การติดตั้งและกำหนดค่า Local Emulator Suite ด้วยคอนเทนเนอร์ ในการตั้งค่า CI ทั่วไปนั้นทำได้ง่าย
ข้อควรทราบมีดังนี้
- ระบบจะติดตั้งและแคชไบนารีของโปรแกรมจำลองที่
~/.cache/firebase/emulators/
คุณอาจต้องเพิ่มเส้นทางนี้ลงในการกำหนดค่าแคช CI เพื่อหลีกเลี่ยงการดาวน์โหลดซ้ำ - หากไม่มีไฟล์
firebase.json
ในที่เก็บ คุณต้องเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งลงในคำสั่งemulators:start
หรือemulators:exec
เพื่อระบุว่าควรเริ่มโปรแกรมจำลองใด เช่น--only dataconnect
ล้างฐานข้อมูลระหว่างการทดสอบ
Firebase ขอแนะนำให้ทำดังนี้เพื่อรีเซ็ตสภาพแวดล้อมการทดสอบระหว่างการทดสอบ
- เขียนการเปลี่ยนแปลงเฉพาะเพื่อจัดการสิ่งต่อไปนี้
- ในการตั้งค่า ให้ป้อนข้อมูลเริ่มต้นลงในอินสแตนซ์ฐานข้อมูลในเครื่อง
- ในการล้างข้อมูล ให้ลบข้อมูลที่แก้ไขแล้วออกจากอินสแตนซ์ฐานข้อมูลหลังการทดสอบ
ความแตกต่างระหว่างData Connectโปรแกรมจำลองกับเวอร์ชันที่ใช้งานจริง
Data Connectโปรแกรมจำลองจะจำลองฟีเจอร์ต่างๆ ของผลิตภัณฑ์ฝั่งเซิร์ฟเวอร์ อย่างไรก็ตาม โปรดทราบว่ามีข้อยกเว้นบางประการดังนี้
- เวอร์ชันและการกำหนดค่าโดยละเอียดของ PGLite อาจแตกต่างจากเวอร์ชัน ของอินสแตนซ์ Cloud SQL ที่ใช้งานจริง
- หากคุณใช้โปรแกรมจำลองเพื่อพัฒนาด้วยการผสานรวม pgvector และ Vertex API ของ Data Connect การเรียกใช้ Vertex API ในระบบคลาวด์จะดำเนินการโดยตรง ไม่ใช่ผ่านการผสานรวม Vertex ของ Cloud SQL อย่างไรก็ตาม ระบบจะยังคงเรียกใช้ API ที่ใช้งานจริง ซึ่งหมายความว่าคุณต้องใช้โปรเจ็กต์ Firebase จริง ไม่สามารถใช้โปรเจ็กต์
demo-
และจะมีการเรียกเก็บค่าใช้จ่ายของ Vertex API