การอ้างอิงคำสั่ง Firebase CLI สำหรับ Data Connect

Firebase CLI เป็นเครื่องมือที่ช่วยให้คุณจัดการและกำหนดค่าผลิตภัณฑ์และบริการของ Firebase จากบรรทัดคำสั่งได้

CLI มีคำสั่งที่ใช้เพื่อดำเนินการต่างๆ ได้ Data Connect เช่น สร้างData Connect โปรเจ็กต์ใหม่ เริ่มต้นไดเรกทอรีการทำงานในเครื่องที่เกี่ยวข้อง ตั้งค่าData Connectโปรแกรมจำลอง แสดงรายการData Connectทรัพยากร สร้าง SDK ของไคลเอ็นต์ และอื่นๆ

คำสั่งการตั้งค่า

เพิ่ม Data Connect ไปยังโปรเจ็กต์ Firebase

firebase init

ใช้ firebase init เพื่อตั้งค่าโปรเจ็กต์ในเครื่องใหม่ เวิร์กโฟลว์นี้ จะสร้างหรืออัปเดตไฟล์กำหนดค่า Firebase ใน ไดเรกทอรีของคุณ

firebase init

โฟลว์ firebase init จะแนะนําขั้นตอนการตั้งค่าบริการและฐานข้อมูล รวมถึงการติดตั้งโปรแกรมจําลอง Data Connect และ การกําหนดค่า SDK ที่สร้างขึ้น (ไม่บังคับ)

การตั้งค่าบริการและฐานข้อมูล

หากเลือก dataconnect สำหรับการตั้งค่าผลิตภัณฑ์ CLI จะแจ้งให้คุณระบุชื่อและตำแหน่งบริการใหม่ รวมถึงเลือกว่าจะลิงก์อินสแตนซ์ Cloud SQL for PostgreSQL ที่มีอยู่หรือสร้างอินสแตนซ์ใหม่

หากมีการลิงก์อินสแตนซ์ที่มีอยู่ CLI จะตรวจสอบการตั้งค่าที่เข้ากันได้ เช่น การตรวจสอบสิทธิ์ IAM และที่อยู่ IP สาธารณะ

การตั้งค่า Local Emulator Suite

ขั้นตอน CLI จะเสนอให้ตั้งค่าโปรแกรมจำลอง ซึ่งรวมถึงโปรแกรมจำลอง Data Connect

Data Connect คำสั่งโปรแกรมจำลอง

เริ่มโปรแกรมจำลอง Data Connect

โปรแกรมจำลอง:start/exec

firebase emulators:start/exec

ใช้Local Emulator Suiteเวอร์ชันของโปรแกรมจำลอง Data Connect ในโหมดอินเทอร์แอกทีฟกับ start หรือโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟที่ขับเคลื่อนด้วยสคริปต์กับ exec

ส่งออกและนำเข้าข้อมูล PostgreSQL ในเครื่อง

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

ระบบจะจัดเก็บการส่งออกเป็นสแนปชอตของฐานข้อมูล PostgreSQL ในเครื่อง

Data Connect มีแนวทางในการส่งออก/นำเข้า 3 วิธีดังนี้

  • การส่งออก/นำเข้าอัตโนมัติที่กำหนดค่าไว้ใน firebase.json เพื่อให้ การสำรองข้อมูลสแนปชอตเมื่อปิดและเปิดโปรแกรมจำลอง
  • การส่งออก/นำเข้าด้วยตนเองโดยใช้ CLI
  • การส่งออก/นำเข้าด้วยตนเองโดยใช้อินเทอร์เฟซส่วนขยาย VS Code

การส่งออกและนำเข้าอัตโนมัติที่กำหนดค่าไว้ใน firebase.json

หากต้องการสำรองข้อมูลระหว่างเซสชันการพัฒนา ให้ระบุตำแหน่งการสำรองข้อมูลอัตโนมัติ ในระหว่างลำดับ firebase init ระบบจะจัดเก็บตำแหน่งนี้ไว้ใน firebase.json ในช่อง emulators.dataconnect.dataDir การเปลี่ยนแปลงข้อมูล ที่คุณทำจะได้รับการบันทึกไว้ที่นี่โดยอัตโนมัติระหว่างการเรียกใช้โปรแกรมจำลอง ดังนั้นจึงมีประโยชน์ ในระหว่างการทดสอบและการสำรวจในเครื่อง

การส่งออกด้วยตนเอง: emulators:export และ emulators:start/exec --import

ขณะที่Data Connectโปรแกรมจำลองทำงาน ให้เรียกใช้คำสั่ง firebase emulators:export ในเทอร์มินัลแยกต่างหากเพื่อบันทึกสแนปชอตของข้อมูล จากนั้นคุณจะเริ่มโปรแกรมจำลองจาก Snapshot นั้นได้โดยใช้แฟล็ก --import

# Export data from local emulator from a separate terminal
firebase emulators:export --only dataconnect <export_directory>

# Import data from local directory, here using emulators:exec
firebase emulators:exec ./<your-test-script>.sh --only dataconnect --import <import_directory>

การส่งออก/นำเข้าด้วยตนเอง: ส่วนขยาย VS Code

ใน UI ของส่วนขยาย VS Code ขณะที่โปรแกรมจำลองทำงานอยู่ ให้ใช้ปุ่มส่งออกข้อมูลโปรแกรมจำลองเพื่อส่งออกข้อมูลเพื่อส่งออกเนื้อหาฐานข้อมูลปัจจุบัน ตำแหน่งการส่งออกเริ่มต้นคือไดเรกทอรี exportedData ที่ รูทของไดเรกทอรีโปรเจ็กต์

คุณสามารถนำเข้าข้อมูลนี้ได้โดยใช้ CLI ตามที่อธิบายไว้ในส่วนก่อนหน้า นอกจากนี้ คุณยังนำเข้าข้อมูลนี้ก่อนเริ่มโปรแกรมจำลองผ่าน VS Code ได้โดย คลิกลิงก์กำหนดค่าโปรแกรมจำลองและตั้งค่าเส้นทางการนำเข้า

คำสั่งการจัดการสคีมาและตัวเชื่อมต่อ

ส่วนนี้ประกอบด้วยข้อมูลอ้างอิง CLI สำหรับคำสั่งที่คุณใช้เพื่อจัดการ สคีมาและตัวเชื่อมต่อ

สำหรับกรณีการใช้งานแบบวิธีการและแนวทางปฏิบัติที่แนะนำซึ่งเกี่ยวข้องกับคำสั่งเหล่านี้ โปรดดูคู่มือการจัดการสคีมาและตัวเชื่อมต่อ

ติดตั้งใช้งานสคีมาและตัวเชื่อมต่อ

ทำให้ใช้งานได้

firebase deploy

คำสั่งนี้จะติดตั้งใช้งานทรัพยากรสำหรับบริการ Data Connect ที่จัดทำดัชนีใน firebase.json ระบบจะดำเนินการย้ายข้อมูลสคีมา และอัปเดตตัวเชื่อมต่อหากจำเป็น

Command คำอธิบาย

firebase deploy

รายงาน คำอธิบาย

–-only dataconnect

ติดตั้งใช้งานสคีมาและตัวเชื่อมต่อสำหรับบริการ Data Connect ทั้งหมดของโปรเจ็กต์นี้ แต่ไม่ต้องติดตั้งใช้งานทรัพยากรผลิตภัณฑ์ Firebase อื่นๆ

--only dataconnect:serviceId

ติดตั้งใช้งานสคีมาและตัวเชื่อมต่อสำหรับบริการ Data Connect ที่ระบุ

--only dataconnect:serviceId:connectorId

ติดตั้งใช้งานตัวเชื่อมต่อเดียวสำหรับบริการ Data Connect ที่ระบุ

--only dataconnect:serviceId:schema

ติดตั้งใช้งานสคีมาสำหรับบริการ Data Connect ที่ระบุ

โดยใช้แฟล็ก –-only คุณจะส่งค่าที่คั่นด้วยคอมมาเพื่อติดตั้งใช้งานชุดย่อยของทรัพยากรที่ต้องการได้

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

แสดงรายการบริการ สคีมา และตัวเชื่อมต่อของ Data Connect

dataconnect:services:list

firebase dataconnect:services:list

คำสั่งนี้จะพิมพ์ข้อมูลพื้นฐานเกี่ยวกับบริการ สคีมา และตัวเชื่อมต่อ ที่ติดตั้งใช้งานในโปรเจ็กต์

เปรียบเทียบและย้ายข้อมูลสคีมา SQL

เมื่อเรียกใช้ firebase deploy CLI จะเปรียบเทียบสคีมา SQL ก่อนที่จะทำการอัปเดต นอกจากนี้ คุณยังทำการเปรียบเทียบ และอัปเดตได้โดยตรงด้วยชุดคำสั่ง dataconnect:sql

dataconnect:sql:diff

firebase dataconnect:sql:diff

คำสั่งนี้จะเปรียบเทียบสคีมาในเครื่องสำหรับบริการกับสคีมาปัจจุบันของฐานข้อมูล Cloud SQL ที่เกี่ยวข้อง โดยจะพิมพ์คำสั่งที่จะเรียกใช้ เพื่อย้ายข้อมูลฐานข้อมูลไปยังสคีมาใหม่

Command คำอธิบาย

firebase dataconnect:sql:diff

แฟล็ก/พารามิเตอร์ คำอธิบาย

serviceId

ระบุบริการ หากไม่ระบุ ให้พิมพ์ diff สำหรับบริการทั้งหมดใน firebase.json

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

คำสั่งนี้ใช้การเปลี่ยนแปลงสคีมาในเครื่องกับฐานข้อมูล Cloud SQL ของบริการ

เมื่อตั้งค่าData Connectโปรเจ็กต์dataconnect.yamlใหม่ในเครื่องด้วยไฟล์เริ่มต้น ลักษณะการทำงานของdataconnect:sql:migrateคำสั่ง คือการแจ้งให้คุณทำการเปลี่ยนแปลงที่จำเป็น และแจ้งให้ทำการเปลี่ยนแปลงที่ไม่บังคับ ก่อนที่จะดำเนินการเปลี่ยนแปลง คุณสามารถแก้ไขลักษณะการทำงานนี้ให้รวมหรือละเว้นการเปลี่ยนแปลงที่ไม่บังคับได้เสมอโดยการอัปเดตdataconnect.yaml การกำหนดค่าตามที่อธิบายไว้ในย้ายข้อมูลสคีมาในโหมดเข้มงวดหรือโหมดที่เข้ากันได้

ในสภาพแวดล้อมแบบอินเทอร์แอกทีฟ CLI จะแสดงคำสั่ง SQL ของการย้ายข้อมูลแต่ละรายการ (และระบุว่าเป็นการทำลายหรือไม่) และแจ้งให้คุณทำการเปลี่ยนแปลงที่ต้องการใช้ การส่งแฟล็ก --force จะเทียบเท่ากับการยอมรับพรอมต์ทั้งหมด

ในสภาพแวดล้อมที่ไม่โต้ตอบ ให้ทำดังนี้

  • หากไม่มี --force ระบบจะทำการเปลี่ยนแปลงแบบไม่ทำลายเท่านั้น หากมีการเปลี่ยนแปลงที่ทำลายล้าง CLI จะยกเลิกโดยไม่มีการเปลี่ยนแปลงใดๆ
  • เมื่อใช้ --force ระบบจะทำการเปลี่ยนแปลงทั้งหมด หากมีการเปลี่ยนแปลงที่ทำลายล้าง ระบบจะพิมพ์การเปลี่ยนแปลงเหล่านั้นและแจ้งให้คุณทราบว่าต้องการดำเนินการต่อหรือไม่ เว้นแต่จะระบุ--force
คำสั่ง คำอธิบาย

firebase dataconnect:sql:migrate

รายงาน คำอธิบาย

serviceId

ย้ายข้อมูลฐานข้อมูลสำหรับบริการที่ระบุ ระบบจะอนุมาน serviceId หากโปรเจ็กต์มีบริการเพียงรายการเดียว

--force

ยอมรับพรอมต์โดยอัตโนมัติ

เช่นเดียวกับแฟล็ก --only อื่นๆ คุณสามารถระบุบริการหลายรายการโดยคั่นด้วยเครื่องหมายคอมมา

ย้ายข้อมูลสคีมาในโหมดเข้มงวดหรือโหมดที่เข้ากันได้

Data Connectการย้ายข้อมูลสคีมามีโหมดการตรวจสอบสคีมาที่แตกต่างกัน 2 โหมด ได้แก่ เข้มงวดและเข้ากันได้ การตรวจสอบโหมดเข้มงวดกำหนดให้สคีมาฐานข้อมูลต้องตรงกับสคีมาแอปพลิเคชันอย่างแน่นอนก่อนจึงจะสามารถติดตั้งใช้งานสคีมาแอปพลิเคชันได้ การตรวจสอบโหมดที่เข้ากันได้กำหนดให้สคีมาฐานข้อมูลต้องเข้ากันได้กับสคีมาแอปพลิเคชัน ซึ่งหมายความว่าองค์ประกอบในฐานข้อมูลที่สคีมาแอปพลิเคชันไม่ได้ใช้จะไม่มีการแก้ไข

โหมดการตรวจสอบสคีมาและแนวทางปฏิบัติแนะนำสำหรับการย้ายข้อมูลสคีมาเหล่านี้ อธิบายไว้ในคู่มือการจัดการสคีมาและตัวเชื่อมต่อ

โหมดการตรวจสอบจะกำหนดโดยใช้คีย์ schemaValidation ในไฟล์ dataconnect.yaml หากไม่ได้ระบุ schemaValidation ไว้ CLI จะใช้การเปลี่ยนแปลงที่เข้ากันได้และแจ้งให้คุณทราบก่อนที่จะดำเนินการเปลี่ยนแปลงที่เข้มงวด ดูข้อมูลอ้างอิงการกำหนดค่า

จัดการการเปลี่ยนแปลงในตัวเชื่อมต่อ

เมื่อเรียกใช้ firebase deploy CLI จะเริ่ม อัปเดตตัวเชื่อมต่อที่เกี่ยวข้อง CLI จะวิเคราะห์การเปลี่ยนแปลงของตัวเชื่อมต่อแต่ละตัว และออกชุดข้อความการประเมินเกี่ยวกับการเปลี่ยนแปลงตัวเชื่อมต่อที่ อาจทําให้เกิดลักษณะการทํางานที่ไม่คาดคิด (ข้อความอยู่ในระดับคําเตือน) หรือการหยุดทํางาน (ข้อความอยู่ในระดับการหยุดทํางาน) ในโค้ดฝั่งไคลเอ็นต์เวอร์ชันก่อนหน้า

การประเมินผลกระทบ สถานการณ์
ระดับคำเตือน (ใช้ได้กับสาย อาจมีการเปลี่ยนแปลงลักษณะการทำงาน)
  • การนำฟิลด์ที่อนุญาตให้เป็นค่าว่างออกจากคําค้นหาโดยไม่มี คำอธิบายประกอบ @retired
ระดับการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้อง (ใช้ร่วมกันไม่ได้ อาจทำให้ไคลเอ็นต์หยุดทำงาน)
  • เปลี่ยนตัวแปรที่ยอมรับค่า Null เป็นตัวแปรที่ไม่อนุญาตให้เป็น Null โดยไม่มีค่าเริ่มต้น
  • เปลี่ยนประเภทข้อมูลของฟิลด์ให้เข้ากันได้กับ JSON (เช่น Int เป็น Float)
  • เปลี่ยนคอลัมน์ที่ต้องมีค่าเป็นคอลัมน์ที่เว้นว่างได้
  • การนำตัวแปรที่กำหนดให้เป็น Null ได้ออกโดยไม่มีคำอธิบายประกอบ @retired
  • การนำตัวแปรที่ไม่ใช่ค่าว่างที่มีค่าเริ่มต้นออกโดยไม่มีคำอธิบายประกอบ @retired
ระดับการหยุดทำงาน (สายไฟใช้ร่วมกันไม่ได้ จะทำให้ไคลเอ็นต์หยุดทำงาน)
  • การนำการดำเนินการออกโดยไม่มีคำอธิบายประกอบ @retired
  • การนำฟิลด์ที่ไม่ใช่ค่าว่างออกจากคําค้นหาที่ไม่มีคําอธิบายประกอบ @retired
  • การเพิ่มตัวแปรที่ไม่ใช่ค่าว่างโดยไม่มีค่าเริ่มต้น
  • เปลี่ยนประเภทข้อมูลของฟิลด์เป็นประเภทที่ไม่รองรับ (เช่น String เป็น Int)
  • การนำตัวแปรที่ไม่ใช่ค่า Null ออกโดยไม่มีค่าเริ่มต้นและไม่มีคำอธิบายประกอบ @retired

ในสภาพแวดล้อมแบบอินเทอร์แอกทีฟ CLI จะแสดงการประเมินตัวเชื่อมต่อแต่ละรายการและ แจ้งให้คุณทำการเปลี่ยนแปลงที่ต้องการ การส่งผ่านแฟล็ก --force เทียบเท่ากับการยอมรับการประเมินทั้งหมด

ในสภาพแวดล้อมที่ไม่มีการโต้ตอบ ให้ทำดังนี้

  • หากมีการประเมินระดับคำเตือนเท่านั้น (การเปลี่ยนแปลงลักษณะการทำงานที่อาจเกิดขึ้น) ระบบจะ เชื่อมต่อตัวเชื่อมต่อทั้งหมดและบันทึกคำเตือนไปยังเทอร์มินัล
  • หากมีการประเมินระดับการหยุดชะงัก ระบบจะไม่ติดตั้งใช้งานตัวเชื่อมต่อ และจะบันทึกคำเตือนไปยังเทอร์มินัล คุณสามารถลบล้างด้วย--force Flag

ตรวจสอบรหัสการให้สิทธิ์

Data Connect ช่วยตรวจสอบกลยุทธ์การให้สิทธิ์โดยการวิเคราะห์โค้ดตัวเชื่อมต่อเมื่อคุณ ติดตั้งใช้งานในเซิร์ฟเวอร์โดยใช้ firebase deploy จาก Firebase CLI คุณใช้การตรวจสอบนี้เพื่อช่วยตรวจสอบโค้ดเบสได้

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

สำหรับการดำเนินการที่แก้ไขและใหม่ CLI จะแสดงคำเตือนและแจ้งให้คุณยืนยันเมื่อใช้ระดับการเข้าถึงบางอย่างในการดำเนินการใหม่ หรือเมื่อแก้ไขการดำเนินการที่มีอยู่เพื่อใช้ระดับการเข้าถึงเหล่านั้น

คำเตือนและข้อความแจ้งจะเกิดขึ้นเสมอในกรณีต่อไปนี้

  • PUBLIC

และคำเตือนและข้อความแจ้งจะปรากฏในระดับการเข้าถึงต่อไปนี้เมื่อคุณไม่ได้เพิ่มด้วยตัวกรองโดยใช้ auth.uid

  • USER
  • USER_ANON
  • USER_EMAIL_VERIFIED

ดูข้อมูลเพิ่มเติมเกี่ยวกับการให้สิทธิ์ได้ที่คู่มือการให้สิทธิ์และการรับรอง

คำสั่ง SDK

สร้าง SDK

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

คำสั่งนี้จะสร้าง SDK ที่พิมพ์แล้วซึ่งประกาศไว้ใน connector.yaml

ดูคำแนะนำในการทำงานกับ Web SDK Android SDK และ iOS SDK ด้วย

คำสั่ง คำอธิบาย

firebase dataconnect:sdk:generate

รายงาน คำอธิบาย

--ดู

ช่วยให้กระบวนการทำงานต่อไปและสร้าง SDK ใหม่ทุกครั้งที่คุณบันทึก การเปลี่ยนแปลงในไฟล์สคีมาและตัวเชื่อมต่อ GQL

หากสร้างไม่สำเร็จ ระบบจะพิมพ์ข้อผิดพลาดไปยัง stdout, โค้ดที่สร้างขึ้น จะไม่เปลี่ยนแปลง และคำสั่งจะทำงานต่อไป

--only connectorId:platform

สร้าง SDK สำหรับแพลตฟอร์มและตัวเชื่อมต่อเดียวเท่านั้น

คุณส่งค่าที่คั่นด้วยคอมมาได้โดยใช้–only

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

คำสั่งการจัดการ Cloud SQL

ให้สิทธิ์บทบาท SQL สำหรับ Cloud SQL

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

dataconnect:sql:setup

firebase dataconnect:sql:setup

คำสั่งนี้จะกำหนดค่าสิทธิ์เริ่มต้นและสิทธิ์ส่วนกลางสำหรับตารางในฐานข้อมูล

ขั้นตอนการจัดสรรและการจัดการฐานข้อมูลเริ่มต้นจะถือว่าโปรเจ็กต์ของคุณ ใช้ฐานข้อมูลใหม่ (Greenfield) และเมื่อคุณเรียกใช้ firebase deploy Data Connect จะแสดงการเปลี่ยนแปลงสคีมาของฐานข้อมูลที่จะดำเนินการ และ ทำการย้ายข้อมูลหลังจากที่คุณอนุมัติ หากต้องการใช้โฟลว์นี้ dataconnect:sql:setup จะแจ้งให้คุณให้สิทธิ์ ซึ่งรวมถึงความเป็นเจ้าของสคีมา superuser

สำหรับฐานข้อมูลที่มีอยู่ (Brownfield) คุณอาจมีเวิร์กโฟลว์ของตัวเองสำหรับ การย้ายข้อมูลสคีมาและต้องการรักษาสิทธิ์ความเป็นเจ้าของสคีมาด้วยตนเอง หากต้องการใช้โฟลว์นี้ ให้ปฏิเสธที่dataconnect:sql:setup พรอมต์ที่ถามว่า Data Connect ควรจัดการการย้ายข้อมูล SQL ให้คุณหรือไม่ หากคุณปฏิเสธ Data Connect จะมีสิทธิ์เข้าถึงตารางฐานข้อมูลของคุณเพียง read และ write เท่านั้น แต่คุณยังคงต้องรับผิดชอบการเป็นเจ้าของและการย้ายข้อมูลสคีมา

ดูการสนทนาและกรณีการใช้งานเพิ่มเติมได้ที่จัดการบริการและฐานข้อมูล

dataconnect:sql:grant

firebase dataconnect:sql:grant

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

ดูรายละเอียดเกี่ยวกับบทบาทที่ได้รับได้ที่ บทบาทผู้ใช้ PostgreSQL

บทบาท บทบาท SQL สิทธิ์ การใช้งาน ให้สิทธิ์ได้
ผู้อ่าน firebasereader_<db_name>_<schema_name> สิทธิ์การอ่านอย่างเดียวสำหรับฐานข้อมูล

ดำเนินการSELECTในตารางทั้งหมดภายในสคีมาที่ระบุได้
เหมาะสําหรับผู้ใช้หรือบริการที่ต้องการดึงข้อมูลแต่ไม่ต้องการแก้ไข ใช่
ผู้เขียน firebasewriter_<db_name>_<schema_name> สิทธิ์การอ่านและการเขียนฐานข้อมูล

ดำเนินการ SELECT, INSERT, UPDATE, DELETE และ TRUNCATE ในตารางทั้งหมดภายในสคีมาได้
เหมาะสำหรับผู้ใช้หรือบริการที่ต้องแก้ไขข้อมูลภายในฐานข้อมูล ใช่
เจ้าของ firebaseowner_<db_name>_<schema_name> เจ้าของสคีมา

มีสิทธิ์ทั้งหมดในตารางและลำดับทั้งหมดในสคีมา
บทบาทนี้ร่วมกับบทบาท IAM roles/cloudsql.client จะให้สิทธิ์ในการทำการย้ายข้อมูลในฐานข้อมูล

เช่น เมื่อโทรหา firebase dataconnect:sql:migrate
ใช่
ผู้ใช้ระดับสูง cloudsqlsuperuser บทบาทผู้ใช้ขั้นสูงในตัวที่มีสิทธิ์เต็มรูปแบบในฐานข้อมูล

นอกจากสิทธิ์ของเจ้าของแล้ว ยังสร้างสคีมา ทิ้งสคีมา ติดตั้งส่วนขยาย และดำเนินงานด้านการดูแลระบบอื่นๆ ได้ด้วย

เข้าถึงได้ใน CLI โดยการเข้าสู่ระบบในฐานะ "firebasesuperuser"
ต้องใช้ในการติดตั้งส่วนขยาย สร้างสคีมาเริ่มต้น และให้บทบาท SQL ที่ให้สิทธิ์ได้แก่ผู้ใช้รายอื่น

หากผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบต้องการสิทธิ์ระดับผู้ใช้ขั้นสูง การย้ายข้อมูลจะไม่สำเร็จและจะแจ้งให้ผู้ใช้ขอให้ผู้ดูแลฐานข้อมูล (เช่น ผู้ใช้ที่มี roles/cloudsql.admin) เรียกใช้คำสั่ง SQL ที่มีสิทธิ์
มอบให้แก่ผู้ใช้ที่มี roles/cloudsql.admin และไม่สามารถมอบให้โดยตรงจาก Firebase CLI
Command คำอธิบาย

firebase dataconnect:sql:grant

Flag/พารามิเตอร์ คำอธิบาย

-R, --role role

บทบาท SQL ที่จะให้สิทธิ์ ซึ่งได้แก่ เจ้าของ ผู้เขียน หรือผู้อ่าน

-E, --email email_address

อีเมลสำหรับผู้ใช้หรือบัญชีบริการที่จะมอบบทบาทให้

ตัวเลือกส่วนกลาง

ตัวเลือกส่วนกลางต่อไปนี้ใช้กับคำสั่งทั้งหมด

  • --json จะเปลี่ยนเอาต์พุต CLI เป็น JSON เพื่อให้เครื่องมืออื่นๆ แยกวิเคราะห์ได้
  • --noninteractive และ --interactive จะลบล้างการตรวจหาอัตโนมัติ ของสภาพแวดล้อมที่ไม่ใช่ TTY ตามที่จำเป็น