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ặt và tươ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 Android và SDK 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. | Có |
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 , DELETE và TRUNCATE 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. | Có |
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 . |
Có |
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
và--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.