Firebase CLI ช่วยให้คุณจัดการโปรเจ็กต์ Firebase ในไดเรกทอรีโปรเจ็กต์ที่ควบคุมเวอร์ชันได้แบบในเครื่อง ซึ่งรวมถึงData Connectบริการในโปรเจ็กต์ของคุณ ตัวเชื่อมต่อสําหรับบริการเหล่านั้น และทรัพยากรต่างๆ เช่น สคีมา คําค้นหา และแหล่งที่มาของการเปลี่ยนรูปแบบสําหรับตัวเชื่อมต่อแต่ละรายการ นอกจากนี้ CLI ยังให้คุณติดตั้งและใช้งานโปรแกรมจำลอง Firebase Data Connect ได้ด้วย CLI เป็นทางเลือกที่มีประสิทธิภาพในการทำงานในคอนโซล Firebase
ดูวิธีการติดตั้งการทดสอบ Firebase CLI สำหรับโปรแกรมการทดลองใช้แบบส่วนตัว และคำสั่ง CLI ที่เกี่ยวข้องกับ Data Connect ได้ที่ข้อมูลอ้างอิง CLI
คู่มืออ้างอิงนี้แสดงข้อมูลต่อไปนี้
- รายการที่เจาะจง Data Connect ในไฟล์การกำหนดค่าโปรเจ็กต์
firebase.json
- การกําหนดค่า Data Connect ใน
dataconnect.yaml
และconnector.yaml
- บทบาท IAM ที่คุณจะต้องกําหนดค่าสําหรับโปรเจ็กต์ที่ใช้ Data Connect
ไฟล์การกําหนดค่าโปรเจ็กต์ Firebase
ข้อมูลอ้างอิงการกําหนดค่า firebase.json
ใช้คีย์ dataconnect
เพื่อกำหนดค่าบริการ Data Connect อย่างน้อย 1 รายการในโปรเจ็กต์
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
การอ้างอิงการกําหนดค่า dataconnect.yaml
ไฟล์ dataconnect.yaml
จะจัดเก็บข้อมูลการกําหนดค่าเกี่ยวกับตําแหน่งแหล่งที่มาของสคีมาแอปพลิเคชัน แหล่งที่มาของเครื่องมือเชื่อมต่อ และข้อมูลการเชื่อมต่อแหล่งข้อมูล ไฟล์นี้ยังทำหน้าที่เป็นสัญญาณไดเรกทอรีโปรเจ็กต์สำหรับ CLI ของ Firebase ด้วย
คีย์ schemaValidation
จะควบคุมระดับการตรวจสอบสคีมาที่มีการย้ายข้อมูลสคีมาระหว่างการทำให้ใช้งานได้ หากไม่ได้ตั้งค่าค่าใดๆ ลักษณะการทํางานของคําสั่ง dataconect:sql:migrate
จะเป็นการใช้การเปลี่ยนแปลงที่เข้ากันได้และแจ้งให้คุณทราบก่อนที่จะดําเนินการเปลี่ยนแปลงที่เข้มงวด เมื่อตั้งค่าแล้ว ลักษณะการทํางานจะเป็นไปตามนี้
- โหมด
STRICT
สคีมาฐานข้อมูลต้องตรงกันทุกประการกับสคีมาแอปพลิเคชันก่อนจึงจะติดตั้งใช้งานสคีมาแอปพลิเคชันได้ ตารางหรือคอลัมน์ที่ไม่ได้ใช้ในสคีมา Data Connect จะถูกลบออกจากฐานข้อมูล - โหมด
COMPATIBLE
สคีมาฐานข้อมูลต้องเข้ากันได้กับสคีมาแอปพลิเคชันก่อนจึงจะติดตั้งใช้งานสคีมาแอปพลิเคชันได้ การเปลี่ยนแปลงเพิ่มเติมถือเป็นเรื่องที่ไม่บังคับ เข้ากันได้หมายความว่าการย้ายข้อมูลสคีมาจะอิงตามสคีมาแอปพลิเคชันที่คุณเขียน องค์ประกอบในฐานข้อมูลที่สคีมาของแอปพลิเคชันไม่ได้ใช้จะไม่ถูกแก้ไข ดังนั้นหลังการทําให้ใช้งานได้ แบ็กเอนด์ของคุณอาจมีสคีมา ตาราง และคอลัมน์ที่ไม่ได้ใช้
ค่าของคีย์อื่นๆ ในไฟล์นี้จะอธิบายไว้ในความคิดเห็นด้านล่าง
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
ไฟล์ YAML จะถือว่าโครงสร้างไดเรกทอรีเริ่มต้น (แต่กำหนดค่าได้) มีลักษณะดังนี้
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
การอ้างอิงการกําหนดค่า connector.yaml
ใช้ connector.yaml
เพื่อกําหนดค่าโหมดการตรวจสอบสิทธิ์เริ่มต้นและตัวเลือกการสร้าง SDK
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web SDK.
# Required.
- outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Name of the package to be created.
# Optional. Defaults to @firebasegen/<connectorID>
- package: string
<option>: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
การกําหนดค่า IAM สําหรับโปรเจ็กต์ Data Connect
บทบาท IAM โดยละเอียดสำหรับ Data Connect
บทบาทพื้นฐานและบทบาทที่กําหนดไว้ล่วงหน้าของ Firebase จะเชื่อมโยงกับบทบาทData Connectระดับล่าง โปรดดูตารางสำหรับการแมป
หากต้องการจัดการการมอบหมายบทบาท IAM แต่ละรายการให้กับ Data Connect ในรายละเอียดเพิ่มเติม ให้ใช้คอนโซล Google Cloud
บทบาท IAM | สิทธิ์ |
---|---|
firebasedataconnect.googleapis.com/admin ผู้ดูแลระบบ Firebase Data Connect API บทบาทนี้รวมผู้ดู Firebase Data Connect API ด้วย เทียบเท่ากับ firebasedataconnect.* บทบาทเจ้าของระบบคลาวด์ ผู้แก้ไขระบบคลาวด์ ผู้ดูแลระบบ Firebase และผู้ดูแลระบบ Firebase Develop เป็นผู้ให้สิทธิ์ |
สิทธิ์เข้าถึงทรัพยากร Firebase Data Connect API โดยสมบูรณ์ รวมถึงข้อมูลfirebasedataconnect.googleapis.com/operations.delete firebasedataconnect.googleapis.com/operations.cancel firebasedataconnect.googleapis.com/services.create firebasedataconnect.googleapis.com/services.update firebasedataconnect.googleapis.com/services.delete firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead firebasedataconnect.googleapis.com/schemas.create firebasedataconnect.googleapis.com/schemas.update firebasedataconnect.googleapis.com/schemas.delete firebasedataconnect.googleapis.com/schemaRevisions.create firebasedataconnect.googleapis.com/schemaRevisions.delete firebasedataconnect.googleapis.com/connectors.create firebasedataconnect.googleapis.com/connectors.update firebasedataconnect.googleapis.com/connectors.delete firebasedataconnect.googleapis.com/connectorRevisions.create firebasedataconnect.googleapis.com/connectorRevisions.delete
|
firebasedataconnect.googleapis.com/viewer ผู้ดู Firebase Data Connect API ให้บริการโดยเจ้าของ Cloud, Cloud Editor, Cloud Viewer, ผู้ดูแลระบบ Firebase, ผู้ดู Firebase ผู้ดูแลระบบ Firebase Develop และผู้ดู Firebase Develop |
สิทธิ์การอ่านอย่างเดียวสำหรับทรัพยากร Firebase Data Connect API บทบาทไม่ได้ให้สิทธิ์เข้าถึงข้อมูลcloudresourcemanager.googleapis.com/projects.list cloudresourcemanager.googleapis.com/projects.get firebasedataconnect.googleapis.com/operations.list firebasedataconnect.googleapis.com/operations.get firebasedataconnect.googleapis.com/locations.list firebasedataconnect.googleapis.com/locations.get firebasedataconnect.googleapis.com/services.list firebasedataconnect.googleapis.com/services.get firebasedataconnect.googleapis.com/schemas.list firebasedataconnect.googleapis.com/schemas.get firebasedataconnect.googleapis.com/schemaRevisions.list firebasedataconnect.googleapis.com/schemaRevisions.get firebasedataconnect.googleapis.com/connectors.list firebasedataconnect.googleapis.com/connectors.get firebasedataconnect.googleapis.com/connectorRevisions.list firebasedataconnect.googleapis.com/connectorRevisions.get
|
firebasedataconnect.googleapis.com/dataAdmin ผู้ดูแลระบบข้อมูล Firebase Data Connect API บทบาทนี้มาจากบทบาทเจ้าของระบบคลาวด์ ผู้แก้ไขระบบคลาวด์ ผู้ดูแลระบบ Firebase และผู้ดูแลระบบ Firebase Develop |
สิทธิ์การอ่านและเขียนแหล่งข้อมูลโดยสมบูรณ์firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer เครื่องมือดูข้อมูล Firebase Data Connect API บทบาทเจ้าของระบบคลาวด์ ผู้แก้ไขระบบคลาวด์ ผู้ดูแลระบบ Firebase และผู้ดูแลระบบ Firebase Develop เป็นผู้ให้สิทธิ์เข้าถึง |
สิทธิ์เข้าถึงแหล่งข้อมูลระดับอ่านอย่างเดียวfirebasedataconnect.googleapis.com/services.executeGraphqlRead
|