เริ่มต้นใช้งาน Firebase Data Connect

ในการเริ่มต้นอย่างรวดเร็วนี้ คุณจะได้ศึกษาวิธีทำสิ่งต่อไปนี้

  • เพิ่ม Firebase Data Connect ลงในโปรเจ็กต์ Firebase
  • ตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ซึ่งรวมถึง Visual Studio ส่วนขยายโค้ดที่จะทำงานร่วมกับอินสแตนซ์เวอร์ชันที่ใช้งานจริง
  • จากนั้น เราจะแสดงวิธีทำสิ่งต่อไปนี้
    • สร้างสคีมาสำหรับแอปอีเมลและทำให้ใช้งานได้เป็นเวอร์ชันที่ใช้งานจริง
    • กำหนดคำค้นหาและการกลายพันธุ์สำหรับสคีมาของคุณ
    • ทำให้ต้นแบบสุดท้ายใช้งานได้จริง

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

ในการใช้การเริ่มต้นอย่างรวดเร็วนี้ คุณจะต้องมีสิ่งต่อไปนี้

เชื่อมต่อกับโปรเจ็กต์ Firebase

  1. สร้างโปรเจ็กต์ Firebase หากยังไม่มี
    1. ในคอนโซล Firebase ให้คลิก เพิ่มโปรเจ็กต์ แล้วทำตามวิธีการบนหน้าจอ
  2. อัปเกรดโปรเจ็กต์เป็นแพ็กเกจ Blaze ซึ่งจะช่วยให้คุณสร้าง Cloud SQL สำหรับอินสแตนซ์ PostgreSQL

  3. ไปยังส่วน Data Connect ของคอนโซล Firebase และปฏิบัติตามเวิร์กโฟลว์การตั้งค่าผลิตภัณฑ์

  4. เลือกตำแหน่งที่ตั้งของฐานข้อมูล CloudSQL สำหรับ PostgreSQL

  5. จดชื่อและรหัสโปรเจ็กต์ บริการ และฐานข้อมูลไว้เพื่อยืนยันในภายหลัง

  6. ทำตามขั้นตอนการตั้งค่าที่เหลือ แล้วคลิกเสร็จสิ้น

เลือกและตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์

Data Connect รองรับประสบการณ์การพัฒนา 2 แบบสำหรับการสร้างต้นแบบ ดังนี้

  • หากคุณเป็นนักพัฒนาซอฟต์แวร์ของ Kotlin Android หรือเว็บ คุณสามารถใช้ VS Code ได้ การพัฒนาซอฟต์แวร์ เพื่อสร้างต้นแบบของสคีมาและการดำเนินการในเครื่องขณะเชื่อมต่อกับ อินสแตนซ์ Cloud SQL สำหรับ PostgreSQL
  • หากคุณเป็นนักพัฒนาเว็บ ก็สามารถใช้ IDX Development เพื่อสร้างต้นแบบได้ ในพื้นที่ทำงาน IDX โดยใช้เทมเพลต IDX ที่กำหนดค่าล่วงหน้าด้วย PostgreSQL ส่วนขยาย VS Code ที่มีโปรแกรมจำลอง Data Connect และโค้ดการเริ่มต้นอย่างรวดเร็ว ที่ระบบกำหนดไว้ให้ คุณสามารถดูข้อมูลเพิ่มเติมได้ที่ เว็บไซต์ Project IDX

การเริ่มต้นอย่างรวดเร็วนี้จะมุ่งเน้นที่ขั้นตอนการพัฒนาส่วนขยาย VS Code วิธีดำเนินการต่อ

  1. สร้างไดเรกทอรีใหม่สำหรับโปรเจ็กต์ในเครื่อง
  2. เปิด VS Code ในไดเรกทอรีใหม่
  3. ดาวน์โหลดส่วนขยายซึ่งรวมอยู่ในแพ็กเกจ VSIX จากพื้นที่เก็บข้อมูลของ Firebase

  4. ใน VS Code ให้เลือกส่วนขยายจากเมนูมุมมอง

  5. ในแถบชื่อแผงส่วนขยาย ให้คลิกไอคอนเมนู more_horiz จากนั้นติดตาม ติดตั้งจาก VSIX...

นอกจากนี้ คุณยังติดตั้งฐานข้อมูล PostgreSQL ในเครื่องสำหรับการพัฒนาในเครื่องได้ ด้วยโปรแกรมจำลอง Data Connect การตั้งค่านี้ครอบคลุมเมื่อสิ้นสุด ในคู่มือเริ่มใช้งานฉบับย่อนี้

ตั้งค่าโปรเจ็กต์ที่อยู่ในเครื่อง

ติดตั้ง CLI โดยทําตามวิธีการทั่วไป หากคุณมี npm ติดตั้งแล้ว ให้เรียกใช้คำสั่งต่อไปนี้

npm install -g firebase-tools

ตั้งค่าไดเรกทอรีโปรเจ็กต์

เริ่มต้นไดเรกทอรีโปรเจ็กต์เพื่อตั้งค่าโปรเจ็กต์ในเครื่อง

คลิกไอคอน Firebase ในแผงด้านซ้ายของ VS Code เพื่อเปิด Firebase VS UI ส่วนขยายโค้ด

ใน UI ของส่วนขยาย Firebase ให้ทำดังนี้

  1. ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้แล้ว
  2. คลิกปุ่มเรียกใช้ firebase init
  3. ตรวจสอบข้อความแจ้งที่แท็บ Terminal ในแผง VS Code ด้านล่าง
  4. เลือก Data Connect เป็นฟีเจอร์ที่จะใช้ในไดเรกทอรีนี้
  5. เมื่อมีข้อความแจ้ง ให้ระบุรหัสโปรเจ็กต์ บริการ และฐานข้อมูลของ โปรเจ็กต์ Data Connect ที่สร้างไว้ก่อนหน้านี้ในคอนโซล

สร้างสคีมา

ในไดเรกทอรีโปรเจ็กต์ Firebase ในไฟล์ /dataconnect/schema/schema.gql ให้เริ่มกำหนดสคีมา GraphQL ที่มีผู้ใช้และอีเมล

ผู้ใช้

ใน Data Connect ระบบจะแมปช่อง GraphQL กับคอลัมน์ ผู้ใช้มี uid, name และอีเมล address Data Connect รู้จัก ประเภทข้อมูลพื้นฐาน: String และ Date

คัดลอกข้อมูลโค้ดต่อไปนี้หรือยกเลิกการเลือกบรรทัดที่เกี่ยวข้องในไฟล์

# File `/dataconnect/schema/schema.gql`

type User @table(key: "uid") {
   uid: String!
   name: String!
   address: String!
}

โดยค่าเริ่มต้น Firebase Data Connect จะเพิ่มคีย์ UUID id หากไม่มี ที่มีให้ แต่ในกรณีนี้ คุณต้องการให้ uid เป็นคีย์หลัก ซึ่ง คุณสามารถทำได้โดยใช้คำสั่ง @table(key: "uid")

อีเมล

เมื่อมีผู้ใช้แล้ว คุณก็สร้างแบบจำลองอีเมลได้ ตรงนี้คุณสามารถเพิ่มฟังก์ชัน ฟิลด์ (หรือคอลัมน์) สำหรับข้อมูลอีเมล ครั้งนี้เราข้ามการเพิ่มคีย์หลัก เพราะคุณพึ่งพา Data Connect เพื่อจัดการได้

# File `/dataconnect/schema/schema.gql`

type Email @table {
   subject: String!
   sent: Date!
   text: String!
   from: User!
}

โปรดสังเกตว่าฟิลด์ from แมปกับประเภท User แล้ว Data Connect เข้าใจดีว่านี่เป็นความสัมพันธ์ระหว่าง Email และ User และจะจัดการความสัมพันธ์นี้ให้คุณ

ทำให้สคีมาใช้งานได้เป็นเวอร์ชันที่ใช้งานจริง

หากคุณกำลังใช้ส่วนขยาย Firebase VS Code เพื่อทำงานกับ ฐานข้อมูลที่ใช้งานจริง คุณต้องทำให้สคีมาใช้งานได้ก่อนดำเนินการต่อ หลัง การทำให้สคีมาของคุณใช้งานได้ในฐานข้อมูลที่ใช้งานจริง คุณควรสามารถดู สคีมาในคอนโซล

  1. คุณสามารถใช้ส่วนขยาย Firebase VS Code เพื่อทำให้ใช้งานได้
    • ใน UI ของส่วนขยายใต้แผง Firebase Data Connect ให้คลิก ทำให้ใช้งานได้
  2. คุณอาจต้องตรวจสอบการเปลี่ยนแปลงสคีมาและอนุมัติสิ่งที่อาจเป็นอันตราย การเปลี่ยนแปลง ระบบจะขอให้คุณดำเนินการดังนี้
    • ตรวจสอบการเปลี่ยนแปลงสคีมาโดยใช้ firebase dataconnect:sql:diff
    • เมื่อคุณพอใจกับการเปลี่ยนแปลงแล้ว ให้นำการเปลี่ยนแปลงไปใช้โดยใช้ขั้นตอนที่เริ่มโดย firebase dataconnect:sql:migrate

เพิ่มข้อมูลลงในตาราง

ในแผงตัวแก้ไข VS คุณจะเห็นปุ่ม CodeLens ปรากฏขึ้นเหนือ ประเภท GraphQL ใน /dataconnect/schema/schema.gql เนื่องจากคุณได้ติดตั้งใช้งาน คุณจะใช้สคีมาเพิ่มข้อมูลและเรียกใช้ (เวอร์ชันที่ใช้งานจริง) ได้ ปุ่มจะเพิ่มข้อมูลไปยังฐานข้อมูลของคุณในแบ็กเอนด์

วิธีเพิ่มระเบียนลงในตาราง User และ Email

  1. ใน schema.gql ให้คลิกปุ่มเพิ่มข้อมูลด้านบนประเภท User ประกาศ
    ปุ่มเพิ่มข้อมูลของ Code Lens สำหรับ Firebase Data Connect
  2. ในไฟล์ User_insert.gql ที่สร้างขึ้น ข้อมูลฮาร์ดโค้ดสำหรับ 3 ฟิลด์
  3. คลิกปุ่มเรียกใช้ (เวอร์ชันที่ใช้งานจริง)
    ปุ่ม Code Lens Run สำหรับ Firebase Data Connect
  4. ทำขั้นตอนก่อนหน้าซ้ำเพื่อเพิ่มระเบียนลงในตาราง Email โดยมี uid ของผู้ใช้ในช่อง fromUid ตามที่แจ้งไว้ในช่อง การเปลี่ยนแปลง Email_insert

กำหนดคำค้นหา

ทีนี้ก็ถึงส่วนที่สนุก นั่นคือการค้นหา ในฐานะนักพัฒนาซอฟต์แวร์ คุณคุ้นเคยกับการเขียน SQL การค้นหามากกว่าการค้นหาแบบ GraphQL ดังนั้น การค้นหาจึงอาจแตกต่างไปเล็กน้อยในตอนแรก อย่างไรก็ตาม GraphQL มีความเข้มงวดและปลอดภัยมากกว่า SQL แบบข้อมูลดิบมาก และรหัส VS ของเรา ส่วนขยายช่วยให้ประสบการณ์ในการพัฒนาง่ายขึ้น

เริ่มแก้ไขไฟล์ /dataconnect/default-connector/queries.gql หากคุณต้องการ หากต้องการรับอีเมลทั้งหมด ให้ใช้คำค้นหาแบบนี้

# File `/dataconnect/default-connector/queries.gql`

query ListEmails @auth(level: NO_ACCESS) {
  emails {
    id, subject, text, sent
    from {
      name
    }
  }
}

ดำเนินการค้นหาโดยใช้ปุ่ม CodeLens ที่อยู่ใกล้เคียง

คุณลักษณะที่น่าสนใจอย่างยิ่งตรงนี้คือความสามารถในการดำเนินการกับฐานข้อมูล ความสัมพันธ์เหมือนกราฟ เนื่องจากอีเมลมีฟิลด์ from ที่อ้างอิง ผู้ใช้ คุณสามารถฝังลงในช่องและรับข้อมูลเกี่ยวกับผู้ใช้กลับคืนได้

ทำให้สคีมาและการค้นหาใช้งานได้จริง

คุณได้ผ่านการปรับปรุงเพื่อการพัฒนา ตอนนี้คุณสามารถทำให้ สคีมา ข้อมูล และคำค้นหาไปยังเซิร์ฟเวอร์ที่มี Firebase UI ของส่วนขยายหรือ Firebase CLI เหมือนกับที่คุณทำกับสคีมา

หากใช้ส่วนขยายโค้ด Firebase VS ในการทำให้ใช้งานได้ ให้คลิกทำให้ใช้งานได้ทั้งหมด

เมื่อทำให้ใช้งานได้แล้ว คุณควรดูและเรียกใช้การดำเนินการในคอนโซลได้ ได้เป็นอย่างดี บริการ Data Connect จะพร้อมประมวลผลการดำเนินการ จากลูกค้า อินสแตนซ์ Cloud SQL สำหรับ PostgreSQL จะอัปเดตด้วย สคีมาและข้อมูลที่สร้างขึ้นซึ่งทำให้ใช้งานได้ขั้นสุดท้าย

(ไม่บังคับ) ติดตั้ง PostgreSQL ในเครื่อง

การติดตั้ง PostgreSQL ในเครื่องและการผสานรวมกับโปรแกรมจำลองช่วยให้คุณ ต้นแบบในสภาพแวดล้อมการพัฒนาภายในท้องถิ่นอย่างสมบูรณ์

คุณจะติดตั้งอินสแตนซ์ใหม่ของ PostgreSQL หรือใช้อินสแตนซ์ที่มีอยู่ก็ได้

ติดตั้ง PostgreSQL

ติดตั้ง PostgreSQL เวอร์ชัน 15.x ตามวิธีการสำหรับแพลตฟอร์มของคุณ

ระบุเอาต์พุตของชื่อโฮสต์ พอร์ต ชื่อผู้ใช้และรหัสผ่าน และพารามิเตอร์ที่เกี่ยวข้องในระหว่าง ตามลำดับการติดตั้ง

หากต้องการเชื่อมต่อกับอินสแตนซ์ PostgreSQL โปรแกรมจำลองจะต้องมีสิ่งต่อไปนี้

  • พารามิเตอร์การกำหนดค่าการตั้งค่าเหล่านี้
  • ชื่อฐานข้อมูลจาก dataconnect.yaml และชื่อที่สอดคล้องกัน เริ่มต้นฐานข้อมูลในอินสแตนซ์ในเครื่องแล้ว

ใช้อินสแตนซ์ PostgreSQL ในเครื่อง

คุณสามารถใช้อินสแตนซ์ PostgreSQL ในเครื่องที่มีอยู่ได้โดยการอัปเดต การตั้งค่าโปรแกรมจำลอง Data Connect

firebase setup:emulators:dataconnect

เมื่อได้รับข้อความแจ้ง ให้ป้อนสตริงการเชื่อมต่อ PostgreSQL ในรูปแบบนี้ postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable

ดูข้อมูลเพิ่มเติมเกี่ยวกับสตริงการเชื่อมต่อได้ที่ เอกสารประกอบของ PostgreSQL

เชื่อมต่อกับอินสแตนซ์ PostgreSQL ในเครื่อง

เมื่อกำหนดค่าเสร็จแล้ว หากต้องการเชื่อมต่อกับฐานข้อมูลภายในเครื่อง ให้ทำดังนี้

  1. ใน VS Code ให้คลิกไอคอน Firebase ในแผงด้านซ้ายเพื่อเปิด UI ของส่วนขยาย Firebase VS Code
  2. คลิกปุ่มเชื่อมต่อกับ PostgreSQL ในเครื่อง

ขั้นตอนถัดไป