Giao diện dòng lệnh (CLI) Firebase cho phép bạn quản lý các dự án Firebase trong một thư mục dự án cục bộ, có thể kiểm soát phiên bản. Điều này bao gồm các dịch vụ Data Connect trong dự án, trình kết nối cho các dịch vụ đó và các tài nguyên như giản đồ, truy vấn và nguồn đột biến cho mỗi trình kết nối. CLI cũng cho phép bạn cài đặt và vận hành trình mô phỏng Firebase Data Connect. CLI là một giải pháp thay thế hiệu quả cho việc làm việc trong bảng điều khiển Firebase.
Để biết hướng dẫn cài đặt thử nghiệm CLI Firebase cho chương trình Xem trước riêng tư và các lệnh CLI liên quan đến Data Connect, hãy xem tài liệu tham khảo về CLI.
Hướng dẫn tham khảo này ghi lại:
- Các mục dành riêng cho Data Connect trong tệp cấu hình dự án
firebase.json
. - Cấu hình Data Connect trong
dataconnect.yaml
vàconnector.yaml
. - Các vai trò IAM mà bạn cần định cấu hình cho các dự án sử dụng Data Connect.
Tệp cấu hình dự án Firebase
Tài liệu tham khảo về cấu hình firebase.json
Sử dụng các khoá dataconnect
để định cấu hình một hoặc nhiều dịch vụ Data Connect trong dự án.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Tài liệu tham khảo về cấu hình dataconnect.yaml
Tệp dataconnect.yaml
lưu trữ thông tin cấu hình về vị trí của nguồn giản đồ ứng dụng, nguồn trình kết nối và thông tin kết nối nguồn dữ liệu. Tệp này cũng đóng vai trò là chỉ báo thư mục dự án cho CLI Firebase.
Khoá schemaValidation
kiểm soát mức độ xác thực giản đồ được thực hiện khi di chuyển giản đồ trong quá trình triển khai. Khi không đặt giá trị, hành vi của lệnh dataconect:sql:migrate
là áp dụng các thay đổi tương thích và nhắc bạn trước khi thực thi bất kỳ thay đổi nghiêm ngặt nào. Khi được đặt, hành vi sẽ như sau:
- Chế độ
STRICT
. Giản đồ cơ sở dữ liệu phải khớp chính xác với giản đồ ứng dụng trước khi có thể triển khai giản đồ ứng dụng. Mọi bảng hoặc cột không được sử dụng trong giản đồ Data Connect sẽ bị xoá khỏi cơ sở dữ liệu. - Chế độ
COMPATIBLE
. Giản đồ cơ sở dữ liệu phải tương thích với giản đồ ứng dụng trước khi có thể triển khai giản đồ ứng dụng; mọi thay đổi bổ sung đều được coi là không bắt buộc. Tương thích có nghĩa là quá trình di chuyển giản đồ dựa trên giản đồ ứng dụng mà bạn viết. Các phần tử trong cơ sở dữ liệu mà giản đồ ứng dụng không sử dụng sẽ không được sửa đổi. Do đó, sau khi triển khai, phần phụ trợ của bạn có thể chứa các giản đồ, bảng và cột không dùng đến.
Giá trị của các khoá khác trong tệp này được giải thích trong phần nhận xét bên dưới.
# 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]
Tệp YAML giả định cấu trúc thư mục mặc định (nhưng có thể định cấu hình) như sau:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
tài liệu tham khảo về cấu hình connector.yaml
Sử dụng connector.yaml
để định cấu hình chế độ xác thực mặc định và các tuỳ chọn tạo 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
Cấu hình IAM cho các dự án Data Connect
Vai trò IAM chi tiết cho Data Connect
Các vai trò cơ bản và vai trò được xác định trước trong Firebase liên kết với các vai trò Data Connect cấp thấp hơn. Hãy tham khảo bảng để biết mối liên kết.
Để quản lý các lượt chỉ định vai trò IAM riêng lẻ cho Data Connect ở cấp chi tiết hơn, hãy sử dụng bảng điều khiển Google Cloud.
Vai trò IAM | Quyền |
---|---|
firebasedataconnect.googleapis.com/admin Quản trị viên API Firebase Data Connect Vai trò này bao gồm cả Người xem API Firebase Data Connect. Tương đương với firebasedataconnect.* .Vai trò Chủ sở hữu trên đám mây, Người chỉnh sửa trên đám mây, Quản trị viên Firebase và Quản trị viên phát triển Firebase cung cấp quyền này. |
Toàn quyền truy cập vào các tài nguyên của API Firebase Data Connect, bao gồm cả dữ liệu.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 Người xem API Firebase Data Connect Vai trò này do các vai trò Chủ sở hữu trên đám mây, Người chỉnh sửa trên đám mây, Người xem trên đám mây, Quản trị viên Firebase, Người xem Firebase, Quản trị viên Firebase Develop và Người xem Firebase Develop cung cấp. |
Quyền chỉ đọc đối với tài nguyên API Firebase Data Connect. Vai trò không cấp quyền truy cập vào dữ liệu.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 Quản trị viên dữ liệu API Firebase Data Connect Vai trò này do các vai trò Chủ sở hữu trên đám mây, Người chỉnh sửa trên đám mây, Quản trị viên Firebase và Quản trị viên phát triển Firebase cung cấp. |
Có toàn quyền đọc và ghi vào nguồn dữ liệu.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Trình xem dữ liệu API Firebase Data Connect Vai trò Chủ sở hữu trên đám mây, Người chỉnh sửa trên đám mây, Quản trị viên Firebase và Quản trị viên Firebase Develop cung cấp quyền này. |
Quyền chỉ đọc đối với nguồn dữ liệu.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|