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ụ trong dự án của bạn, các trình kết nối cho những dịch vụ đó và các tài nguyên như lược đồ, nguồn truy vấn và nguồn đột biến cho mỗi trình kết nối.Data Connect 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 về cách 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 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 những 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 của bạ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 các 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à dấu hiệu 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 các giản đồ được di chuyển trong quá trình triển khai. Nếu không có giá trị nào được đặt, 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 giản đồ ứng dụng có thể được triển khai. Mọi bảng hoặc cột không được 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 giản đồ ứng dụng có thể được triển khai; 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 của bạn mà giản đồ ứng dụng không dùng đến sẽ không bị 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ị cho 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 lựa 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 được 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 thông tin về mối liên kết.
Để quản lý từng lượt chỉ định vai trò IAM 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 Firebase Data Connect API Vai trò này bao gồm cả Người xem Firebase Data Connect API. Tương đương với firebasedataconnect.* .Quyền này được cung cấp theo vai trò Chủ sở hữu đám mây, Người chỉnh sửa đám mây, Quản trị viên Firebase và Quản trị viên phát triển Firebase. |
Có toàn quyền truy cập vào các tài nguyên của Firebase Data Connect API, 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 Đây là vai trò do Chủ sở hữu đám mây, Người chỉnh sửa đám mây, Người xem đám mây, Quản trị viên Firebase, Người xem Firebase, Quản trị viên phát triển Firebase và Người xem phát triển Firebase cung cấp. |
Quyền chỉ đọc đối với các tài nguyên của Firebase Data Connect API. 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 của Firebase Data Connect API Đây là vai trò do Chủ sở hữu đám mây, Người chỉnh sửa đá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 đối với các 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 Đây là vai trò do Chủ sở hữu đám mây, Người chỉnh sửa đá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 chỉ đọc đối với các nguồn dữ liệu.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|