Tài liệu tham khảo về lệnh CLI của Firebase cho Data Connect

CLI Firebase là một công cụ cho phép bạn quản lý và định cấu hình các sản phẩm và dịch vụ của Firebase từ dòng lệnh.

CLI cung cấp các lệnh có thể dùng để thực hiện nhiều tác vụ Data Connect, chẳng hạn như tạo dự án Data Connect mới, khởi chạy thư mục làm việc cục bộ tương ứng, thiết lập trình mô phỏng Data Connect, liệt kê tài nguyên Data Connect, tạo SDK ứng dụng và nhiều tác vụ khác.

Lệnh thiết lập

Thêm Data Connect vào dự án Firebase

firebase init

Sử dụng firebase init để thiết lập cấu hình dự án cục bộ mới. Quy trình công việc này tạo hoặc cập nhật tệp cấu hình Firebase trong thư mục của bạn.

firebase init

Quy trình firebase init hướng dẫn bạn thiết lập dịch vụ và cơ sở dữ liệu, đồng thời tuỳ ý cài đặt trình mô phỏng Data Connect và định cấu hình các SDK đã tạo.

Thiết lập dịch vụ và cơ sở dữ liệu

Nếu bạn chọn dataconnect để thiết lập sản phẩm, CLI sẽ nhắc bạn nhập tên và vị trí mới của dịch vụ, cũng như liệu bạn có nên liên kết và phiên bản Cloud SQL hiện có cho phiên bản PostgreSQL hay tạo một phiên bản mới.

Nếu một thực thể hiện có được liên kết, CLI sẽ kiểm tra các chế độ cài đặt tương thích, chẳng hạn như xác thực IAM và địa chỉ IP công khai.

Thiết lập Local Emulator Suite

Quy trình CLI cung cấp tính năng thiết lập trình mô phỏng, bao gồm cả trình mô phỏng Data Connect.

Lệnh của trình mô phỏng Data Connect

Khởi động trình mô phỏng Data Connect

emulators:start/exec

firebase emulators:start/exec

Sử dụng phiên bản Local Emulator Suite của trình mô phỏng Data Connect ở chế độ tương tác với start hoặc chế độ không tương tác, do tập lệnh điều khiển với exec.

Lệnh quản lý giản đồ và trình kết nối

Phần này chứa thông tin tham khảo về CLI cho các lệnh bạn sử dụng để quản lý giao thức và trình kết nối.

Để biết cách sử dụng các trường hợp và phương pháp đề xuất liên quan đến các lệnh này, hãy xem hướng dẫn quản lý giản đồ và trình kết nối.

Triển khai giản đồ và tài nguyên trình kết nối

triển khai

firebase deploy

Lệnh này triển khai tài nguyên cho các dịch vụ Data Connect được lập chỉ mục trong firebase.json. Hệ thống sẽ thực hiện di chuyển giản đồ nếu cần.

Lệnh Nội dung mô tả

firebase deploy

Cờ Nội dung mô tả

–-only dataconnect

Triển khai giản đồ và trình kết nối cho tất cả các dịch vụ Data Connect cho dự án này, nhưng không triển khai các tài nguyên sản phẩm Firebase khác.

–-only dataconnect:serviceId

Triển khai giản đồ và trình kết nối cho dịch vụ Data Connect đã chỉ định.

–-only dataconnect:serviceId:connectorId

Triển khai một trình kết nối duy nhất cho dịch vụ Data Connect đã chỉ định.

–-only dataconnect:serviceId:schema

Triển khai giản đồ cho dịch vụ Data Connect đã chỉ định.

Với cờ –-only, bạn có thể truyền các giá trị được phân tách bằng dấu phẩy để triển khai bất kỳ nhóm tài nguyên nào mà bạn muốn.

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

Liệt kê các dịch vụ, giản đồ và trình kết nối Data Connect

dataconnect:services:list

firebase dataconnect:services:list

Lệnh này in thông tin cơ bản về các dịch vụ, giản đồ và trình kết nối được triển khai trên một dự án.

So sánh và di chuyển giản đồ SQL

dataconnect:sql:diff

firebase dataconnect:sql:diff

Lệnh này so sánh giản đồ cục bộ của một dịch vụ với giản đồ hiện tại của cơ sở dữ liệu Cloud SQL tương ứng. Hàm này sẽ in ra các lệnh sẽ được chạy để di chuyển cơ sở dữ liệu sang giản đồ mới.

Lệnh Nội dung mô tả

firebase dataconnect:sql:diff

Cờ/Thông số Nội dung mô tả

serviceId

Chỉ định dịch vụ. Nếu bỏ qua, hãy in sự khác biệt cho tất cả các dịch vụ trong firebase.json.

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

Lệnh này áp dụng các thay đổi về giản đồ cục bộ cho cơ sở dữ liệu Cloud SQL của dịch vụ.

Khi bạn thiết lập một dự án Data Connect cục bộ mới, với tệp dataconnect.yaml mặc định, hành vi của lệnh dataconect:sql:migrate sẽ nhắc bạn về mọi thay đổi bắt buộc, sau đó nhắc bạn về mọi thay đổi không bắt buộc trước khi thực thi các thay đổi đó. Bạn có thể sửa đổi hành vi này để luôn đưa vào hoặc bỏ qua các thay đổi không bắt buộc bằng cách cập nhật cấu hình dataconnect.yaml, như đã thảo luận trong phần di chuyển giản đồ ở chế độ nghiêm ngặt hoặc tương thích

Trong môi trường tương tác, CLI hiển thị từng câu lệnh SQL di chuyển (và liệu câu lệnh đó có gây huỷ bỏ hay không) và nhắc bạn về những thay đổi mà bạn muốn áp dụng. Việc truyền cờ --force tương đương với việc chấp nhận tất cả lời nhắc.

Trong môi trường không tương tác:

  • nếu không có --force, hệ thống sẽ chỉ thực hiện các thay đổi không gây hại. Nếu có các thay đổi gây hại, CLI sẽ huỷ mà không thực hiện thay đổi nào.
  • với --force, tất cả các thay đổi sẽ được thực hiện. Nếu có bất kỳ thay đổi huỷ bỏ nào, các thay đổi đó sẽ được in và bạn sẽ được nhắc xem có muốn tiếp tục hay không, trừ phi bạn cung cấp cờ --force.
Lệnh Nội dung mô tả

firebase dataconnect:sql:migrate

Cờ Nội dung mô tả

serviceId

Di chuyển cơ sở dữ liệu cho dịch vụ được chỉ định. serviceId được suy luận nếu dự án của bạn chỉ có một dịch vụ.

–-force

Tự động chấp nhận lời nhắc.

Cũng như các cờ --only khác, bạn có thể cung cấp nhiều dịch vụ được phân tách bằng dấu phẩy.

Di chuyển giản đồ ở chế độ nghiêm ngặt hoặc tương thích

Quá trình di chuyển giản đồ Data Connect có hai chế độ xác thực giản đồ khác nhau: nghiêm ngặttương thích. Quy trình xác thực ở chế độ nghiêm ngặt yêu cầu lược đồ cơ sở dữ liệu phải khớp chính xác với lược đồ ứng dụng trước khi có thể triển khai lược đồ ứng dụng. Việc xác thực chế độ tương thích yêu cầu giản đồ cơ sở dữ liệu phải tương thích với giản đồ ứng dụng, nghĩa là các phần tử trong cơ sở dữ liệu không được giản đồ ứng dụng sử dụng sẽ không được sửa đổi.

Các chế độ xác thực giản đồ và phương pháp hay nhất để di chuyển giản đồ này được đề cập trong hướng dẫn quản lý giản đồ và trình kết nối

Chế độ xác thực được xác định bằng cách sử dụng khoá schemaValidation trong tệp dataconnect.yaml. Nếu bạn không chỉ định schemaValidation, CLI sẽ á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. Xem tài liệu tham khảo về cấu hình.

Lệnh SDK

Tạo SDK

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

Lệnh này tạo các SDK đã nhập được khai báo trong connector.yaml.

Ngoài ra, hãy xem hướng dẫn về cách sử dụng SDK web, SDK AndroidSDK iOS.

Lệnh Nội dung mô tả

firebase dataconnect:sdk:generate

Cờ Nội dung mô tả

–-watch

Giữ cho quy trình chạy và tạo SDK mới bất cứ khi nào bạn lưu các thay đổi đối với giản đồ và tệp GQL của trình kết nối.

Nếu quá trình tạo không thành công, lỗi sẽ được in vào stdout, mã được tạo sẽ không thay đổi và lệnh sẽ tiếp tục chạy.

–-only connectorId:platform

Chỉ tạo SDK cho một nền tảng và một trình kết nối.

Với cờ –only, bạn có thể truyền các giá trị được phân tách bằng dấu phẩy.

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

Các lệnh quản lý Cloud SQL

Cấp vai trò SQL cho Cloud SQL

dataconnect:sql:grant

firebase dataconnect:sql:grant

Data Connect hoạt động trên phiên bản PostgreSQL của riêng bạn được lưu trữ trên Cloud SQL. Trong một số trường hợp, bạn có thể muốn truy cập trực tiếp vào cơ sở dữ liệu để truy vấn hoặc cập nhật dữ liệu do ứng dụng Data Connect tạo. Để làm việc này, bạn cần cấp một trong các vai trò được xác định trong phần này cho người dùng hoặc tài khoản dịch vụ cần thiết.

Để biết thông tin chi tiết về các vai trò đã cấp, hãy xem phần Vai trò của người dùng PostgreSQL.

Vai trò Vai trò SQL Quyền Cách sử dụng Có thể cấp
trình đọc firebasereader_<db_name>_<schema_name> Quyền chỉ đọc đối với cơ sở dữ liệu.

Có thể thực hiện các thao tác SELECT trên tất cả các bảng trong giản đồ đã chỉ định.
Lý tưởng cho người dùng hoặc dịch vụ yêu cầu truy xuất dữ liệu nhưng không sửa đổi.
writer firebasewriter_<db_name>_<schema_name> Quyền đọc và ghi vào cơ sở dữ liệu.

Có thể thực hiện các thao tác SELECT, INSERT, UPDATE, DELETETRUNCATE trên tất cả bảng trong giản đồ.
Phù hợp với người dùng hoặc dịch vụ cần sửa đổi dữ liệu trong cơ sở dữ liệu.
chủ sở hữu firebaseowner_<db_name>_<schema_name> Chủ sở hữu giản đồ.

Có tất cả đặc quyền trên tất cả bảng và trình tự trong giản đồ.
Vai trò này, kết hợp với vai trò roles/cloudsql.client của IAM, cấp quyền thực hiện quá trình di chuyển trên cơ sở dữ liệu.

Ví dụ: khi gọi firebase dataconnect:sql:migrate.
siêu người dùng cloudsqlsuperuser Vai trò người dùng cấp cao tích hợp sẵn có toàn quyền trên cơ sở dữ liệu.

Ngoài các quyền của chủ sở hữu, quyền này có thể tạo giản đồ, xoá giản đồ, cài đặt tiện ích và thực hiện mọi tác vụ quản trị khác.

Truy cập trong CLI bằng cách đăng nhập bằng "firebasesuperuser".
Bắt buộc để cài đặt tiện ích, tạo giản đồ ban đầu và cấp bất kỳ vai trò SQL nào có thể cấp cho người dùng khác.

Nếu người dùng không phải quản trị viên cần có đặc quyền của quản trị viên cấp cao, thì quá trình di chuyển sẽ không thành công và nhắc người dùng yêu cầu quản trị viên cơ sở dữ liệu (tức là người dùng có roles/cloudsql.admin) chạy các lệnh SQL đặc quyền.
Được cấp cho người dùng có roles/cloudsql.admin và không thể được cấp trực tiếp từ Firebase CLI
Lệnh Nội dung mô tả

firebase dataconnect:sql:grant

Cờ/Thông số Nội dung mô tả

-R, --role vai trò

Vai trò SQL cần cấp, một trong các vai trò sau: chủ sở hữu, người viết hoặc người đọc.

-E, --email email_address

Email của người dùng hoặc tài khoản dịch vụ mà bạn muốn cấp vai trò.

Tuỳ chọn chung

Các tuỳ chọn chung sau đây áp dụng cho tất cả lệnh:

  • --json chuyển đổi đầu ra CLI sang JSON để các công cụ khác phân tích cú pháp.
  • --noninteractive--interactive ghi đè, nếu cần, tính năng tự động phát hiện môi trường không phải TTY.