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 ConnectEmulator จะจำลองฟีเจอร์ต่างๆ ของผลิตภัณฑ์ฝั่งเซิร์ฟเวอร์ อย่างไรก็ตาม โปรดทราบว่ามีข้อยกเว้นบางประการดังนี้
- เวอร์ชันและการกำหนดค่าโดยละเอียดของ PGLite อาจแตกต่างจากเวอร์ชันของอินสแตนซ์ Cloud SQL เวอร์ชันที่ใช้งานจริง
- หากคุณใช้โปรแกรมจำลองเพื่อพัฒนาด้วยการผสานรวม pgvector และ Vertex API ของ Data Connect ระบบจะเรียกใช้ Cloud Vertex API โดยตรง ไม่ใช่ผ่านการผสานรวม Vertex ของ Cloud SQL อย่างไรก็ตาม ระบบจะยังคงเรียกใช้ API เวอร์ชันที่ใช้งานจริงอยู่ ซึ่งหมายความว่าคุณต้องใช้โปรเจ็กต์ Firebase จริง จะใช้โปรเจ็กต์
demo-
ไม่ได้ และจะต้องเสียค่าใช้จ่ายสำหรับ Vertex API