Tài liệu tham khảo về Firebase CLI

Giao diện dòng lệnh (CLI) của Firebase (GitHub) cung cấp nhiều công cụ để quản lý, xem và triển khai cho các dự án Firebase.

Trước khi sử dụng CLI Firebase, hãy thiết lập một dự án Firebase.

Thiết lập hoặc cập nhật CLI

Cài đặt Firebase CLI

Bạn có thể cài đặt CLI Firebase bằng một phương thức phù hợp với hệ điều hành, cấp độ kinh nghiệm và/hoặc trường hợp sử dụng của bạn. Bất kể bạn cài đặt CLI theo cách nào, bạn đều có quyền truy cập vào cùng một chức năng và lệnh firebase.

Windows macOS Linux

Windows

Bạn có thể cài đặt Firebase CLI cho Windows bằng một trong các tuỳ chọn sau:

Lựa chọn Nội dung mô tả Được đề xuất cho...
tệp nhị phân độc lập Tải tệp nhị phân độc lập cho CLI xuống. Sau đó, bạn có thể truy cập vào tệp thực thi để mở một shell nơi bạn có thể chạy lệnh firebase. Nhà phát triển mới

Nhà phát triển không sử dụng hoặc không quen thuộc với Node.js
npm Sử dụng npm (Trình quản lý gói nút) để cài đặt CLI và bật lệnh firebase có sẵn trên toàn hệ thống. Nhà phát triển sử dụng Node.js

tệp nhị phân độc lập

Để tải xuống và chạy tệp nhị phân cho CLI Firebase, hãy làm theo các bước sau:

  1. Tải tệp nhị phân CLI Firebase cho Windows xuống.

  2. Truy cập tệp nhị phân để mở một shell nơi bạn có thể chạy lệnh firebase.

  3. Tiếp tục đăng nhập và kiểm thử CLI.

npm

Để sử dụng npm (Trình quản lý gói nút) để cài đặt CLI Firebase, hãy làm theo các bước sau:

  1. Cài đặt Node.js bằng nvm-windows (Trình quản lý phiên bản Node). Việc cài đặt Node.js sẽ tự động cài đặt các công cụ lệnh npm.

  2. Cài đặt CLI Firebase thông qua npm bằng cách chạy lệnh sau:

    npm install -g firebase-tools

    Lệnh này bật lệnh firebase có sẵn trên toàn cầu.

  3. Tiếp tục đăng nhập và kiểm thử CLI.

macOS hoặc Linux

Bạn có thể cài đặt CLI Firebase cho macOS hoặc Linux bằng một trong các lựa chọn sau:

Lựa chọn Nội dung mô tả Được đề xuất cho...
tập lệnh cài đặt tự động Chạy một lệnh duy nhất để tự động phát hiện hệ điều hành, tải bản phát hành CLI mới nhất xuống, sau đó bật lệnh firebase có sẵn trên toàn hệ thống. Nhà phát triển mới

Nhà phát triển không sử dụng hoặc không quen thuộc với Node.js

Triển khai tự động trong môi trường CI/CD
tệp nhị phân độc lập Tải tệp nhị phân độc lập cho CLI xuống. Sau đó, bạn có thể định cấu hình và chạy tệp nhị phân cho phù hợp với quy trình công việc của mình. Quy trình công việc có thể tuỳ chỉnh hoàn toàn bằng CLI
npm Sử dụng npm (Trình quản lý gói nút) để cài đặt CLI và bật lệnh firebase có sẵn trên toàn hệ thống. Nhà phát triển sử dụng Node.js

tập lệnh tự động cài đặt

Để cài đặt CLI Firebase bằng tập lệnh cài đặt tự động, hãy làm theo các bước sau:

  1. Chạy lệnh cURL sau:

    curl -sL https://firebase.tools | bash

    Tập lệnh này tự động phát hiện hệ điều hành của bạn, tải bản phát hành CLI Firebase mới nhất xuống, sau đó bật lệnh firebase có sẵn trên toàn cầu.

  2. Tiếp tục đăng nhập và kiểm thử CLI.

Để biết thêm ví dụ và thông tin chi tiết về tập lệnh cài đặt tự động, hãy tham khảo mã nguồn của tập lệnh tại firebase.tools.

tệp nhị phân độc lập

Để tải xuống và chạy tệp nhị phân cho CLI Firebase dành riêng cho hệ điều hành của bạn, hãy làm theo các bước sau:

  1. Tải tệp nhị phân CLI Firebase cho hệ điều hành của bạn: macOS | Linux

  2. (Không bắt buộc) Thiết lập lệnh firebase có sẵn trên toàn cầu.

    1. Chạy chmod +x ./firebase_tools để tạo tệp nhị phân có thể thực thi.
    2. Thêm đường dẫn của tệp nhị phân vào PATH.
  3. Tiếp tục đăng nhập và kiểm thử CLI.

npm

Để sử dụng npm (Trình quản lý gói nút) để cài đặt CLI Firebase, hãy làm theo các bước sau:

  1. Cài đặt Node.js bằng nvm (Trình quản lý phiên bản Node).
    Việc cài đặt Node.js sẽ tự động cài đặt các công cụ dòng lệnh npm.

  2. Cài đặt CLI Firebase thông qua npm bằng cách chạy lệnh sau:

    npm install -g firebase-tools

    Lệnh này bật lệnh firebase có sẵn trên toàn cầu.

  3. Tiếp tục đăng nhập và kiểm thử CLI.

Đăng nhập và kiểm tra Firebase CLI

Sau khi cài đặt CLI, bạn phải xác thực. Sau đó, bạn có thể xác nhận việc xác thực bằng cách liệt kê các dự án Firebase của mình.

  1. Đăng nhập vào Firebase bằng Tài khoản Google của bạn bằng cách chạy lệnh sau:

    firebase login

    Lệnh này kết nối máy cục bộ của bạn với Firebase và cấp cho bạn quyền truy cập vào các dự án Firebase.

  2. Kiểm tra để đảm bảo CLI được cài đặt đúng cách và truy cập vào tài khoản của bạn bằng cách liệt kê các dự án Firebase. Chạy lệnh sau:

    firebase projects:list

    Danh sách hiển thị phải giống với các dự án Firebase được liệt kê trong bảng điều khiển Firebase.

Cập nhật lên phiên bản CLI mới nhất

Thông thường, bạn nên sử dụng phiên bản CLI Firebase mới nhất.

Cách bạn cập nhật phiên bản CLI phụ thuộc vào hệ điều hành và cách bạn cài đặt CLI.

Windows

  • tệp nhị phân độc lập: Tải phiên bản mới xuống, sau đó thay thế phiên bản cũ trên hệ thống
  • npm: Chạy npm install -g firebase-tools

macOS

  • tập lệnh cài đặt tự động: Chạy curl -sL https://firebase.tools | upgrade=true bash

  • tệp nhị phân độc lập: Tải phiên bản mới xuống, sau đó thay thế phiên bản cũ trên hệ thống của bạn

  • npm: Chạy npm install -g firebase-tools

Linux

  • tập lệnh cài đặt tự động: Chạy curl -sL https://firebase.tools | upgrade=true bash

  • tệp nhị phân độc lập: Tải phiên bản mới xuống, sau đó thay thế phiên bản cũ trên hệ thống của bạn

  • npm: Chạy npm install -g firebase-tools

Gỡ cài đặt Firebase CLI

Cách gỡ cài đặt CLI phụ thuộc vào hệ điều hành và cách bạn cài đặt CLI.

Windows

  • Tệp nhị phân độc lập: Xoá tệp nhị phân firebase.exe mà bạn đã tải xuống.
  • npm: Chạy npm uninstall -g firebase-tools

macOS

  • tập lệnh cài đặt tự động: Chạy curl -sL https://firebase.tools | uninstall=true bash

  • Tệp nhị phân độc lập: Xoá tệp nhị phân firebase mà bạn đã tải xuống. Nếu bạn đã thêm vị trí của tệp này vào biến môi trường PATH, hãy nhớ xoá vị trí đó.

  • npm: Chạy npm uninstall -g firebase-tools

Linux

  • tập lệnh cài đặt tự động: Chạy curl -sL https://firebase.tools | uninstall=true bash

  • Tệp nhị phân độc lập: Xoá tệp nhị phân firebase mà bạn đã tải xuống. Nếu bạn đã thêm vị trí của tệp này vào biến môi trường PATH, hãy nhớ xoá vị trí đó.

  • npm: Chạy npm uninstall -g firebase-tools

Sử dụng CLI với hệ thống CI

Bạn nên xác thực bằng Thông tin xác thực mặc định của ứng dụng khi sử dụng CLI với hệ thống CI.

(Nên dùng) Sử dụng thông tin xác thực mặc định của ứng dụng

CLI Firebase sẽ phát hiện và sử dụng Thông tin xác thực mặc định của ứng dụng nếu các thông tin này được đặt. Cách đơn giản nhất để xác thực CLI trong CI và các môi trường không có giao diện người dùng khác là thiết lập Thông tin xác thực mặc định của ứng dụng.

(Phiên bản cũ) Sử dụng FIREBASE_TOKEN

Ngoài ra, bạn có thể xác thực bằng FIREBASE_TOKEN. Cách này kém an toàn hơn Thông tin xác thực mặc định của ứng dụng và không còn được đề xuất.

  1. Trên máy có trình duyệt, hãy cài đặt Firebase CLI.

  2. Bắt đầu quy trình đăng nhập bằng cách chạy lệnh sau:

    firebase login:ci
  3. Truy cập vào URL được cung cấp, sau đó đăng nhập bằng Tài khoản Google.

  4. In mã làm mới mới. Phiên CLI hiện tại sẽ không bị ảnh hưởng.

  5. Lưu trữ mã thông báo đầu ra theo cách an toàn nhưng dễ truy cập trong hệ thống CI.

  6. Sử dụng mã thông báo này khi chạy các lệnh firebase. Bạn có thể sử dụng một trong hai lựa chọn sau:

    • Cách 1: Lưu trữ mã thông báo dưới dạng biến môi trường FIREBASE_TOKEN. Hệ thống của bạn sẽ tự động sử dụng mã thông báo.

    • Cách 2: Chạy tất cả lệnh firebase bằng cờ --token TOKEN trong hệ thống CI.
      Đây là thứ tự ưu tiên khi tải mã thông báo: cờ, biến môi trường, dự án Firebase mong muốn.

Khởi chạy dự án Firebase

Nhiều tác vụ phổ biến được thực hiện bằng CLI, chẳng hạn như triển khai cho một dự án Firebase, yêu cầu phải có thư mục dự án. Bạn thiết lập thư mục dự án bằng lệnh firebase init. Thư mục dự án thường giống với thư mục gốc của hệ thống kiểm soát nguồn và sau khi chạy firebase init, thư mục này sẽ chứa tệp cấu hình firebase.json.

Để khởi động một dự án Firebase mới, hãy chạy lệnh sau trong thư mục của ứng dụng:

firebase init

Lệnh firebase init sẽ hướng dẫn bạn từng bước thiết lập thư mục dự án và một số sản phẩm của Firebase. Trong quá trình khởi chạy dự án, CLI Firebase sẽ yêu cầu bạn hoàn thành các nhiệm vụ sau:

  • Chọn một dự án Firebase mặc định.

    Bước này liên kết thư mục dự án hiện tại với một dự án Firebase để các lệnh dành riêng cho dự án (như firebase deploy) chạy trên dự án Firebase thích hợp.

    Bạn cũng có thể liên kết nhiều dự án Firebase (chẳng hạn như dự án thử nghiệm và dự án chính thức) với cùng một thư mục dự án.

  • Chọn các sản phẩm Firebase để thiết lập trong dự án Firebase của bạn.

    Bước này nhắc bạn thiết lập cấu hình cho các tệp cụ thể của sản phẩm hoặc tính năng đã chọn. Để biết thêm thông tin chi tiết về các cấu hình này, hãy tham khảo tài liệu của sản phẩm cụ thể (ví dụ: Hosting hoặc Authentication). Xin lưu ý rằng bạn luôn có thể chạy firebase init sau để thiết lập thêm các sản phẩm Firebase.

Khi kết thúc quá trình khởi chạy, Firebase sẽ tự động tạo hai tệp sau tại thư mục gốc của thư mục ứng dụng cục bộ:

  • Tệp cấu hình firebase.json liệt kê cấu hình dự án của bạn.

  • Tệp .firebaserc lưu trữ bí danh của dự án.

Tệp firebase.json

Lệnh firebase init tạo một tệp cấu hình firebase.json trong thư mục gốc của thư mục dự án.

Bạn cần có tệp firebase.json để triển khai tài sản bằng CLI Firebase vì tệp này chỉ định những tệp và chế độ cài đặt nào trong thư mục dự án được triển khai cho dự án Firebase của bạn (chẳng hạn như chế độ cài đặt Hosting, cấu hình nhà cung cấp Authentication, quy tắc bảo mật và cấu hình Cloud Functions). Vì một số chế độ cài đặt có thể được xác định trong thư mục dự án hoặc bảng điều khiển Firebase, hãy đảm bảo rằng bạn giải quyết mọi xung đột triển khai có thể xảy ra.

Bạn có thể định cấu hình hầu hết các tuỳ chọn Firebase Hosting ngay trong tệp firebase.json. Tuy nhiên, đối với các dịch vụ Firebase khác có thể triển khai bằng CLI Firebase, lệnh firebase init sẽ tạo các tệp cụ thể để bạn có thể xác định chế độ cài đặt cho các dịch vụ đó, chẳng hạn như tệp index.js cho Cloud Functions. Bạn cũng có thể thiết lập móc nối trước khi triển khai hoặc sau khi triển khai trong tệp firebase.json.

Tệp firebase.json sau đây là một ví dụ toàn diện cho thấy các tuỳ chọn cấu hình cho nhiều dịch vụ của Firebase. Ứng dụng này cũng minh hoạ các tính năng như thiết lập Cloud Functions, Local Emulator Suite cho nhiều cơ sở mã và mẫu Remote Config. Xin lưu ý rằng tệp firebase.json cho bất kỳ dự án nào cũng sẽ chỉ chứa cấu hình cho các dịch vụ Firebase được thiết lập cho dự án cụ thể đó (ví dụ: chỉ Firebase Hosting và Cloud Functions). Việc thêm khoá $schema sẽ cho phép xác thực và tự động hoàn thành trong nhiều trình soạn thảo mã.

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

Mặc dù firebase.json được dùng theo mặc định, nhưng bạn có thể truyền cờ --config PATH để chỉ định một tệp cấu hình thay thế.

Cấu hình cho nhiều cơ sở dữ liệu Cloud Firestore

Khi bạn chạy firebase init, tệp firebase.json sẽ chứa một khoá firestore duy nhất tương ứng với cơ sở dữ liệu mặc định của dự án, như trong ví dụ trước.

Nếu dự án của bạn chứa nhiều cơ sở dữ liệu Cloud Firestore, hãy chỉnh sửa tệp firebase.json để liên kết các tệp nguồn chỉ mục cơ sở dữ liệu và Cloud Firestore Security Rules khác nhau với từng cơ sở dữ liệu. Sửa đổi tệp bằng một mảng JSON, trong đó mỗi mục nhập tương ứng với một cơ sở dữ liệu.

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Cloud Functions tệp cần bỏ qua khi triển khai

Tại thời điểm triển khai hàm, CLI sẽ tự động chỉ định danh sách các tệp trong thư mục functions cần bỏ qua. Điều này giúp ngăn việc triển khai các tệp không liên quan đến phần phụ trợ có thể làm tăng kích thước dữ liệu của quá trình triển khai.

Danh sách các tệp bị bỏ qua theo mặc định, được hiển thị ở định dạng JSON, là:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

Nếu bạn thêm các giá trị tuỳ chỉnh của riêng mình cho ignore trong firebase.json, hãy đảm bảo rằng bạn giữ lại (hoặc thêm, nếu thiếu) danh sách tệp xuất hiện trong danh sách trước đó.

Quản lý bí danh dự án

Bạn có thể liên kết nhiều dự án Firebase với cùng một thư mục dự án. Ví dụ: bạn có thể muốn sử dụng một dự án Firebase cho giai đoạn thử nghiệm và một dự án khác cho giai đoạn phát hành chính thức. Bằng cách sử dụng các môi trường dự án khác nhau, bạn có thể xác minh các thay đổi trước khi triển khai vào môi trường phát hành công khai. Lệnh firebase use cho phép bạn chuyển đổi giữa các bí danh cũng như tạo bí danh mới.

Thêm bí danh dự án

Khi bạn chọn một dự án Firebase trong quá trình khởi chạy dự án, dự án đó sẽ tự động được gán bí danh là default. Tuy nhiên, để cho phép các lệnh dành riêng cho dự án chạy trên một dự án Firebase khác nhưng vẫn sử dụng cùng thư mục dự án, hãy chạy lệnh sau trong thư mục dự án của bạn:

firebase use --add

Lệnh này nhắc bạn chọn một dự án Firebase khác và chỉ định dự án đó làm bí danh. Các chỉ định bí danh được ghi vào tệp .firebaserc bên trong thư mục dự án của bạn.

Sử dụng bí danh dự án

Để sử dụng bí danh dự án Firebase được chỉ định, hãy chạy bất kỳ lệnh nào sau đây trong thư mục dự án của bạn.

Ra lệnh Mô tả
firebase use Xem danh sách các bí danh đã xác định cho thư mục dự án của bạn
firebase use \
PROJECT_ID|ALIAS
Chỉ dẫn tất cả lệnh chạy trên dự án Firebase được chỉ định.
CLI sử dụng dự án này làm "dự án đang hoạt động".
firebase use --clear Xoá dự án đang hoạt động.

Chạy firebase use PROJECT_ID|ALIAS để đặt một dự án đang hoạt động mới trước khi chạy các lệnh CLI khác.

firebase use \
--unalias PROJECT_ALIAS
Xoá một bí danh khỏi thư mục dự án của bạn.

Bạn có thể ghi đè dự án đang được dùng làm dự án đang hoạt động bằng cách truyền cờ --project bằng bất kỳ lệnh CLI nào. Ví dụ: Bạn có thể đặt CLI chạy trên một dự án Firebase mà bạn đã chỉ định bí danh staging. Nếu muốn chạy một lệnh duy nhất cho dự án Firebase mà bạn đã chỉ định bí danh prod, thì bạn có thể chạy, ví dụ: firebase deploy --project=prod.

Kiểm soát nguồn và bí danh dự án

Nhìn chung, bạn nên kiểm tra tệp .firebaserc trong phần kiểm soát nguồn để cho phép nhóm của bạn chia sẻ bí danh dự án. Tuy nhiên, đối với các dự án nguồn mở hoặc mẫu khởi đầu, bạn thường không nên kiểm tra tệp .firebaserc.

Nếu có một dự án phát triển chỉ dành cho bạn, bạn có thể truyền cờ --project theo mỗi lệnh hoặc chạy firebase use PROJECT_ID mà không cần chỉ định bí danh cho dự án Firebase.

Phân phát và thử nghiệm dự án Firebase trên máy của bạn

Bạn có thể xem và thử nghiệm dự án Firebase trên các URL được lưu trữ cục bộ trước khi triển khai cho môi trường thực tế. Nếu chỉ muốn kiểm thử một số tính năng, bạn có thể sử dụng danh sách được phân tách bằng dấu phẩy trong một cờ trên lệnh firebase serve.

Chạy lệnh sau từ thư mục gốc của dự án cục bộ nếu bạn muốn thực hiện một trong các tác vụ sau:

  • Xem nội dung tĩnh cho ứng dụng được lưu trữ trên Firebase.
  • Sử dụng Cloud Functions để tạo nội dung động cho Firebase Hosting và bạn muốn sử dụng các hàm HTTP production (đã triển khai) để mô phỏng Hosting trên một URL cục bộ.
firebase serve --only hosting

Mô phỏng dự án bằng các hàm HTTP cục bộ

Chạy bất kỳ lệnh nào sau đây từ thư mục dự án để mô phỏng dự án bằng các hàm HTTP cục bộ.

  • Để mô phỏng các hàm HTTP và dịch vụ lưu trữ nhằm thử nghiệm trên URL cục bộ, hãy sử dụng một trong các lệnh sau:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Để chỉ mô phỏng các hàm HTTP, hãy sử dụng lệnh sau:

    firebase serve --only functions

Kiểm thử trên các thiết bị khác ở địa phương

Theo mặc định, firebase serve chỉ phản hồi các yêu cầu từ localhost. Điều này có nghĩa là bạn sẽ có thể truy cập vào nội dung được lưu trữ từ trình duyệt web của máy tính nhưng không thể truy cập từ các thiết bị khác trên mạng. Nếu bạn muốn kiểm thử trên các thiết bị cục bộ khác, hãy sử dụng cờ --host như sau:

firebase serve --host 0.0.0.0  // accepts requests to any host

Triển khai cho một dự án Firebase

Giao diện dòng lệnh (CLI) của Firebase quản lý việc triển khai mã và tài sản cho dự án Firebase của bạn, bao gồm:

  • Bản phát hành mới của các trang web Firebase Hosting
  • Cloud Functions for Firebase mới, đã cập nhật hoặc hiện có
  • Giản đồ và trình kết nối mới hoặc đã cập nhật cho Firebase SQL Connect
  • Security Rules cho Firebase Realtime Database
  • Security Rules cho Cloud Storage for Firebase
  • Security Rules cho Cloud Firestore
  • Chỉ mục cho Cloud Firestore
  • Cấu hình cho Authentication

Để triển khai cho một dự án Firebase, hãy chạy lệnh sau từ thư mục dự án của bạn:

firebase deploy

Bạn có thể thêm nhận xét vào mỗi lần triển khai (không bắt buộc). Nhận xét này sẽ xuất hiện cùng với thông tin triển khai khác trên Firebase Hosting trang của dự án. Ví dụ:

firebase deploy -m "Deploying the best new feature ever."

Khi sử dụng lệnh firebase deploy, hãy lưu ý những điều sau:

  • Để triển khai tài nguyên từ một thư mục dự án, thư mục dự án đó phải có tệp firebase.json. Tệp này được tạo tự động cho bạn bằng lệnh firebase init.

  • Theo mặc định, firebase deploy sẽ tạo một bản phát hành cho tất cả tài nguyên có thể triển khai trong thư mục dự án của bạn. Để triển khai các dịch vụ hoặc tính năng cụ thể của Firebase, hãy sử dụng tính năng triển khai một phần.

Triển khai các dịch vụ cụ thể của Firebase

Nếu chỉ muốn triển khai các dịch vụ hoặc tính năng cụ thể của Firebase, bạn có thể sử dụng danh sách được phân tách bằng dấu phẩy trong một cờ trên lệnh firebase deploy. Ví dụ: lệnh sau đây triển khai nội dung Firebase Hosting và Cloud Storage Security Rules.

firebase deploy --only hosting,storage

Bảng sau đây liệt kê các dịch vụ và tính năng có thể triển khai một phần. Tên trong cờ tương ứng với khoá trong tệp cấu hình firebase.json.

Cú pháp cờ Dịch vụ hoặc tính năng được triển khai
--only auth Cấu hình nhà cung cấp Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect Firebase SQL Connect giản đồ và trình kết nối
--only firestore Cloud Firestore Security Rules và chỉ mục cho tất cả cơ sở dữ liệu đã định cấu hình
--only functions Cloud Functions for Firebase
--only hosting Nội dung Firebase Hosting
--only storage Cloud Storage for Firebase Security Rules

Xung đột khi triển khai cho Security Rules

Đối với Firebase Realtime Database, Cloud Storage for Firebase và Cloud Firestore, bạn có thể xác định Security Rules trong thư mục dự án cục bộ hoặc trong bảng điều khiển Firebase.

Một cách khác để tránh xung đột khi triển khai là sử dụng tính năng triển khai một phần và chỉ xác định Security Rules trong bảng điều khiển Firebase.

Thiết lập các tác vụ theo tập lệnh trước và sau khi triển khai

Bạn có thể kết nối tập lệnh shell với lệnh firebase deploy để thực hiện các tác vụ trước hoặc sau khi triển khai. Ví dụ: tập lệnh trước khi triển khai có thể chuyển đổi cú pháp mã TypeScript thành JavaScript và một hook sau khi triển khai có thể thông báo cho quản trị viên về việc triển khai nội dung trang web mới cho Firebase Hosting.

Để thiết lập hook trước khi triển khai hoặc sau khi triển khai, hãy thêm tập lệnh bash vào tệp cấu hình firebase.json. Bạn có thể xác định các tập lệnh ngắn trực tiếp trong tệp firebase.json hoặc có thể tham chiếu các tệp khác trong thư mục dự án.

Ví dụ: tập lệnh sau đây là biểu thức firebase.json cho một tác vụ sau khi triển khai, gửi thông báo Slack khi triển khai thành công cho Firebase Hosting.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

Tệp tập lệnh messageSlack.sh nằm trong thư mục dự án và có dạng như sau:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Bạn có thể thiết lập các hook predeploy và postdeploy cho bất kỳ tài sản nào mà bạn có thể triển khai. Xin lưu ý rằng việc chạy firebase deploy sẽ kích hoạt tất cả các tác vụ trước và sau khi triển khai được xác định trong tệp firebase.json. Để chỉ chạy những tác vụ liên quan đến một dịch vụ Firebase cụ thể, hãy sử dụng các lệnh triển khai một phần.

Cả hai hook predeploy và postdeploy đều in đầu ra chuẩn và luồng lỗi của tập lệnh vào thiết bị đầu cuối. Đối với các trường hợp không thành công, hãy lưu ý những điều sau:

  • Nếu hook trước khi triển khai không hoàn tất như dự kiến, thì quá trình triển khai sẽ bị huỷ.
  • Nếu quá trình triển khai không thành công vì bất kỳ lý do gì, thì các hook sau khi triển khai sẽ không được kích hoạt.

Biến môi trường

Trong các tập lệnh chạy trong hook predeploy và postdeploy, bạn có thể sử dụng các biến môi trường sau:

  • $GCLOUD_PROJECT: Mã dự án của dự án đang hoạt động
  • $PROJECT_DIR: Thư mục gốc chứa tệp firebase.json
  • $RESOURCE_DIR: (Chỉ dành cho tập lệnh hosting và functions) Vị trí của thư mục chứa tài nguyên Hosting hoặc Cloud Functions cần triển khai

Hạn mức triển khai

Có thể (mặc dù không chắc) bạn sẽ vượt quá hạn mức giới hạn tốc độ hoặc số lượng hoạt động triển khai Firebase. Ví dụ: khi triển khai một số lượng rất lớn các hàm, bạn có thể nhận được thông báo lỗi HTTP 429 Quota. Để giải quyết những vấn đề như vậy, hãy thử sử dụng tính năng triển khai một phần.

Khôi phục bản triển khai

Bạn có thể khôi phục bản triển khai Firebase Hosting từ trang Firebase Hosting của dự án bằng cách chọn thao tác Khôi phục cho bản phát hành đã chọn.

Bạn không thể khôi phục các bản phát hành của Security Rules cho Firebase Realtime Database, Cloud Storage for Firebase hoặc Cloud Firestore.

Tài liệu tham khảo về lệnh

Phần này mô tả các lệnh có sẵn cho những trường hợp sử dụng và sản phẩm sau:

Lệnh quản trị CLI

Ra lệnh Mô tả
help Hiển thị thông tin trợ giúp về CLI hoặc các lệnh cụ thể.
init Liên kết và thiết lập một dự án Firebase mới trong thư mục hiện tại.
Lệnh này tạo một tệp cấu hình firebase.json trong thư mục hiện tại.
login

Xác thực CLI bằng Tài khoản Google của bạn. Cần có quyền truy cập vào một trình duyệt web.

Để đăng nhập vào CLI trong môi trường từ xa không cho phép truy cập vào localhost, hãy sử dụng cờ --no-localhost.

login:ci Không dùng nữa. Thay vào đó, hãy sử dụng Thông tin xác thực mặc định của ứng dụng với một tài khoản dịch vụ Google Cloud (GOOGLE_APPLICATION_CREDENTIALS).
Tạo mã xác thực để sử dụng trong môi trường không tương tác.
login:add Đăng nhập vào một Tài khoản Google khác.
login:list Liệt kê tất cả Tài khoản Google đã xác thực.
login:use \
EMAIL_ADDRESS
Đặt Tài khoản Google đang hoạt động.
logout Đăng xuất khỏi Tài khoản Google của bạn trong CLI.
open Mở trình duyệt để xem các tài nguyên liên quan của dự án.
projects:list Liệt kê tất cả dự án Firebase mà bạn có quyền truy cập.
use

Đặt dự án Firebase đang hoạt động cho CLI.

Tìm hiểu thêm về cách quản lý bí danh dự án.

Lệnh quản lý dự án

Ra lệnh Mô tả
Quản lý dự án Firebase
projects:addfirebase Thêm cấu hình dành riêng cho Firebase và bật các dịch vụ dành riêng cho Firebase trong một dự án Google Cloud hiện có.
projects:create Tạo một dự án Google Cloud mới, sau đó thêm các cấu hình dành riêng cho Firebase và bật các dịch vụ dành riêng cho Firebase vào dự án mới.
projects:list Liệt kê tất cả dự án Firebase mà bạn có quyền truy cập.
Quản lý ứng dụng Firebase (iOS, Android, Web)
apps:create Tạo một ứng dụng Firebase mới.
apps:list Liệt kê tất cả Ứng dụng Firebase đã đăng ký trong dự án Firebase đang hoạt động.
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

In cấu hình Firebase của Ứng dụng Firebase được chỉ định.

  • PLATFORM có thể là IOS, ANDROID hoặc WEB (không phân biệt chữ hoa chữ thường). Nếu bạn bỏ qua, CLI sẽ nhắc bạn chọn một ứng dụng trong danh sách hiển thị gồm tất cả Ứng dụng Firebase trong dự án Firebase đang hoạt động. Nếu dự án Firebase đang hoạt động chỉ có một Ứng dụng Firebase, thì CLI sẽ tự động chọn ứng dụng đó.
  • FIREBASE_APP_ID là Mã ứng dụng của Ứng dụng Firebase (yêu cầu chỉ định PLATFORM trước). Nếu bạn bỏ qua, CLI sẽ tự động chọn ứng dụng nếu chỉ có một ứng dụng khớp hoặc nhắc bạn chọn một ứng dụng nếu có nhiều ứng dụng khớp.

Nếu CLI đang chạy ở chế độ không tương tác:

  • Nếu dự án Firebase đang hoạt động chỉ có một Ứng dụng Firebase, thì bạn có thể bỏ qua cả PLATFORM và FIREBASE_APP_ID.
  • Nếu dự án Firebase đang hoạt động có nhiều Ứng dụng Firebase, thì bạn phải chỉ định PLATFORM (và FIREBASE_APP_ID nếu dự án có nhiều Ứng dụng Firebase thuộc loại nền tảng đó).

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • -o hoặc --out [FILENAME]
    Ghi kết quả cấu hình vào một tệp thay vì in ra đầu ra chuẩn. Nếu bạn bỏ qua FILENAME, thì tên tệp sẽ mặc định là tên tệp dành riêng cho nền tảng (GoogleService-Info.plist cho iOS, google-services.json cho Android hoặc firebase-js-config.json cho Web). Nếu tệp mục tiêu đã tồn tại, CLI sẽ nhắc bạn xác nhận việc ghi đè (hoặc không thành công ở chế độ không tương tác).
Quản lý hàm băm chứng chỉ SHA (chỉ dành cho Android)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
Thêm hàm băm chứng chỉ SHA được chỉ định vào Ứng dụng Android Firebase được chỉ định.
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
Xoá chứng chỉ SHA được chỉ định (được xác định bằng SHA_ID từ apps:android:sha:list) khỏi Ứng dụng Android Firebase được chỉ định.
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
Liệt kê tất cả hàm băm chứng chỉ SHA cho Ứng dụng Android Firebase được chỉ định.

Triển khai và phát triển cục bộ

Các lệnh này cho phép bạn triển khai và tương tác với dự án Firebase của mình.

Ra lệnh Mô tả
deploy

Triển khai mã và tài sản từ thư mục dự án của bạn cho dự án Firebase đang hoạt động.

Lệnh này yêu cầu tệp cấu hình firebase.json trong thư mục dự án của bạn.

Tìm hiểu thêm về cách triển khai cho một dự án Firebase.

serve

Khởi động máy chủ cục bộ để kiểm thử cấu hình Firebase Hosting và/hoặc HTTP cục bộ Cloud Functions (ví dụ: sử dụng --only hosting hoặc --only functions).

Lệnh này yêu cầu tệp cấu hình firebase.json trong thư mục dự án của bạn.

Tìm hiểu thêm về cách phân phát và thử nghiệm trên máy cục bộ.

Lệnh App Distribution

Ra lệnh Mô tả
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
Tải tệp nhị phân của bản phát hành được chỉ định lên (.apk, .aab hoặc .ipa) và cung cấp tệp đó cho người kiểm thử đối với Ứng dụng Firebase được chỉ định.
appdistribution:testers:add \
[EMAILS...]

Thêm một hoặc nhiều người kiểm thử (được chỉ định dưới dạng EMAILS được phân tách bằng dấu cách) vào dự án Firebase đang hoạt động. Nếu bỏ qua EMAILS, bạn phải truyền --file FILE.

Lệnh này chỉ thêm những người kiểm thử chưa có trong dự án; lệnh này không xoá hoặc ghi đè những người kiểm thử hiện có.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --file FILE
    Chỉ định đường dẫn đến một tệp không trống, được phân tách bằng dấu phẩy hoặc dòng mới chứa địa chỉ email của người kiểm thử cần thêm. Nếu cả EMAILS và --file đều được truyền, thì EMAILS sẽ được ưu tiên.
  • --group-alias GROUP_ALIAS
    Đồng thời, thêm người kiểm thử được chỉ định vào nhóm người kiểm thử được xác định bằng GROUP_ALIAS.
appdistribution:testers:remove \
[EMAILS...]

Xoá người thử nghiệm (được chỉ định dưới dạng EMAILS được phân tách bằng dấu cách) khỏi dự án Firebase đang hoạt động. Nếu bỏ qua EMAILS, bạn phải truyền --file FILE.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --file FILE
    Chỉ định đường dẫn đến tệp được phân tách bằng dấu phẩy hoặc dòng mới chứa địa chỉ email của người kiểm thử cần xoá. (Nếu cả EMAILS và --file đều được truyền, thì EMAILS sẽ được ưu tiên.)
  • --group-alias GROUP_ALIAS
    Chỉ xoá những người kiểm thử được chỉ định khỏi nhóm người kiểm thử được xác định bằng GROUP_ALIAS, thay vì xoá họ khỏi dự án Firebase đang hoạt động.
appdistribution:testers:list Liệt kê người kiểm thử trong dự án Firebase đang hoạt động.
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
Tạo một nhóm người kiểm thử có DISPLAY_NAME được chỉ định và GROUP_ALIAS không bắt buộc.
Nếu bạn bỏ qua GROUP_ALIAS, thì một bí danh sẽ tự động được tạo từ DISPLAY_NAME.
appdistribution:groups:delete \
GROUP_ALIAS
Xoá nhóm người thử nghiệm có email đại diện được chỉ định.
appdistribution:groups:list Liệt kê tất cả nhóm người kiểm thử trong dự án Firebase đang hoạt động.

Lệnh App Hosting

Ra lệnh Mô tả
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

Tạo tập hợp tài nguyên được quản lý liên kết với một toàn bộ mã nguồn duy nhất bao gồm một phần phụ trợ App Hosting.

Lệnh này hỗ trợ các cờ không bắt buộc (nhưng nên dùng) sau đây:

  • --backend BACKEND_ID
    Chỉ định mã nhận dạng cho phần phụ trợ App Hosting mới. Nếu bạn bỏ qua trong chế độ tương tác, CLI sẽ nhắc bạn nhập mã nhận dạng phần phụ trợ.
  • --primary-region REGION_NAME
    Chỉ định khu vực chính để tạo phần phụ trợ App Hosting. Nếu bạn bỏ qua trong chế độ tương tác, CLI sẽ nhắc bạn chọn một vị trí. Tìm hiểu về các vị trí được hỗ trợ cho App Hosting.
  • -a hoặc --app FIREBASE_WEB_APP_ID
    Chỉ định mã ứng dụng của một Ứng dụng web Firebase hiện có. Nếu bạn bỏ qua, CLI sẽ tự động tạo và liên kết một Ứng dụng web Firebase mới được đặt tên theo BACKEND_ID (trừ phi dự án đã đạt đến hạn mức Ứng dụng Firebase).

Lệnh này cũng hỗ trợ các cờ không bắt buộc sau:

  • --root-dir ROOT_DIR
    Chỉ định thư mục gốc của ứng dụng liên quan đến kho lưu trữ của bạn. Nếu bị bỏ qua trong chế độ tương tác, CLI sẽ nhắc bạn nhập thư mục (mặc định là /).
  • -s hoặc --service-account SERVICE_ACCOUNT
    Chỉ định tài khoản dịch vụ dùng để chạy máy chủ. Nếu bạn bỏ qua, thì tài khoản dịch vụ mặc định của Compute Engine App Hosting sẽ được sử dụng.

Nếu CLI đang chạy ở chế độ không tương tác, thì bạn phải có cả --backend và --primary-region.

apphosting:backends:get \
BACKEND_ID

Truy xuất thông tin chi tiết, bao gồm cả URL công khai, của phần phụ trợ App Hosting được chỉ định.

Nếu nhiều khu vực chứa một phần phụ trợ có BACKEND_ID được chỉ định, thì CLI sẽ ghi lại cảnh báo và in phần phụ trợ khớp đầu tiên (lưu ý rằng lệnh này không hỗ trợ cờ --location).

apphosting:backends:list Liệt kê tất cả phần phụ trợ App Hosting đang hoạt động trong dự án Firebase đang hoạt động.
apphosting:backends:delete \
BACKEND_ID

Xoá phần phụ trợ App Hosting được chỉ định.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

Nếu nhiều khu vực chứa một phần phụ trợ có BACKEND_ID được chỉ định, thì CLI sẽ nhắc bạn ở chế độ tương tác để chọn (các) phần phụ trợ cần xoá và không thành công nếu -f hoặc --force được truyền (lưu ý rằng lệnh này không hỗ trợ cờ --location).

apphosting:rollouts:create \
BACKEND_ID

Tạo một bản phát hành được kích hoạt theo cách thủ công cho phần phụ trợ App Hosting được chỉ định.

Lệnh này hỗ trợ các cờ không bắt buộc, loại trừ lẫn nhau sau đây. Nếu bạn không cung cấp cả hai, CLI sẽ nhắc bạn chọn trong danh sách các nhánh; ở chế độ không tương tác, bạn phải cung cấp một trong các cờ này.

  • -b hoặc --git-branch BRANCH_NAME
    Triển khai thay đổi gần đây nhất trên nhánh Git được chỉ định.
  • -g hoặc --git-commit COMMIT_ID
    Triển khai cam kết Git đã chỉ định.

Nếu nhiều khu vực chứa một phần phụ trợ có BACKEND_ID được chỉ định, thì lệnh này sẽ không thành công ở cả chế độ tương tác và không tương tác (lưu ý rằng lệnh này không hỗ trợ cờ --location).

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

Tạo hoặc cập nhật một khoá bí mật trong Google Cloud Secret Manager bằng SECRET_NAME được chỉ định.

Lệnh này hỗ trợ cờ không bắt buộc (nhưng nên dùng) sau đây:

  • --data-file DATA_FILE_PATH
    Chỉ định đường dẫn để đọc dữ liệu bí mật hoặc đặt thành - để đọc dữ liệu bí mật từ đầu vào chuẩn. Nếu bạn bỏ qua, CLI sẽ nhắc bạn nhập giá trị bí mật (với dữ liệu đầu vào được che) hoặc đọc từ dữ liệu đầu vào chuẩn nếu dữ liệu đầu vào chuẩn được chuyển qua đường ống.

Lệnh này cũng hỗ trợ cờ không bắt buộc sau:

  • -l hoặc --location REGION_NAME
    Khi tạo một khoá bí mật mới, hãy hạn chế việc sao chép khoá bí mật đó vào khu vực Google Cloud Secret Manager được chỉ định. Nếu bạn bỏ qua, Google Cloud Secret Manager sẽ sử dụng tính năng sao chép chung tự động. (Không thể thay đổi chính sách sao chép cho thông tin bí mật hiện có.)

Nếu CLI đang chạy ở chế độ không tương tác, hãy truyền --data-file DATA_FILE_PATH (hoặc chuyển giá trị bí mật đến đầu vào chuẩn).

apphosting:secrets:grantaccess \
SECRET_NAME

Cấp quyền truy cập vào (các) mật khẩu đã chỉ định cho một nhóm email người dùng hoặc nhóm hoặc cho tài khoản dịch vụ của phần phụ trợ. Sau đó, App Hosting có thể truy cập vào các khoá bí mật tại thời điểm xây dựng hoặc thời gian chạy.

Bạn có thể truyền một hoặc nhiều giá trị SECRET_NAME, phân tách bằng dấu phẩy. Bạn phải chỉ định --emails hoặc --backend (hai cờ này loại trừ lẫn nhau).

Cấp quyền truy cập cho một nhóm email của người dùng hoặc nhóm:

  • -e hoặc --emails EMAILS
    Chỉ định danh sách email của người dùng hoặc nhóm (được phân tách bằng dấu phẩy) cần được cấp quyền truy cập vào (các) mật khẩu đã chỉ định.

Cấp quyền truy cập vào tài khoản dịch vụ của phần phụ trợ:

  • -b hoặc --backend BACKEND_ID
    Chỉ định phần phụ trợ App Hosting có tài khoản dịch vụ cần được cấp quyền truy cập vào (các) khoá bí mật được chỉ định.
  • -l hoặc --location REGION_NAME
    Chỉ định khu vực cho phần phụ trợ App Hosting. Nếu bạn bỏ qua, CLI sẽ tìm kiếm trên tất cả các khu vực để tìm BACKEND_ID phù hợp; nếu nhiều khu vực chứa một phần phụ trợ có mã nhận dạng đó, thì CLI sẽ nhắc bạn chọn một khu vực ở chế độ tương tác (ở chế độ không tương tác, bạn phải có --location).
apphosting:secrets:revokeaccess \
SECRET_NAME

Thu hồi quyền truy cập vào (các) mật khẩu đã chỉ định của một nhóm email người dùng hoặc nhóm hoặc của tài khoản dịch vụ của phần phụ trợ.

Bạn có thể truyền một hoặc nhiều giá trị SECRET_NAME, phân tách bằng dấu phẩy. Bạn phải chỉ định --emails hoặc --backend (hai cờ này loại trừ lẫn nhau).

Thu hồi quyền truy cập của một nhóm email người dùng hoặc nhóm:

  • -e hoặc --emails EMAILS
    Chỉ định danh sách email của người dùng hoặc nhóm (phân tách bằng dấu phẩy) mà bạn muốn thu hồi quyền truy cập vào (các) mật khẩu đã chỉ định.

Thu hồi quyền truy cập từ tài khoản dịch vụ của phần phụ trợ:

  • -b hoặc --backend BACKEND_ID
    Chỉ định phần phụ trợ App Hosting có tài khoản dịch vụ cần bị thu hồi quyền truy cập khỏi (các) khoá bí mật được chỉ định.
  • -l hoặc --location REGION_NAME
    Chỉ định khu vực cho phần phụ trợ App Hosting. Nếu bạn bỏ qua, CLI sẽ tìm kiếm trên tất cả các khu vực để tìm BACKEND_ID phù hợp; nếu nhiều khu vực chứa một phần phụ trợ có mã nhận dạng đó, thì CLI sẽ nhắc bạn chọn một khu vực ở chế độ tương tác (ở chế độ không tương tác, bạn phải có --location).
apphosting:secrets:describe \
SECRET_NAME
Truy xuất siêu dữ liệu và phiên bản cho tên mật khẩu đã chỉ định.
apphosting:secrets:access \
SECRET_NAME[@VERSION]
Truy cập vào giá trị của mật khẩu cho tên mật khẩu được chỉ định tại phiên bản được chỉ định.
Nếu bạn bỏ qua [@VERSION], thì theo mặc định, hệ thống sẽ truy cập vào phiên bản mới nhất.

Lệnh Authentication (quản lý người dùng)

Ra lệnh Mô tả
auth:export \
DATA_FILE

Xuất tài khoản người dùng của dự án Firebase đang hoạt động sang tệp JSON hoặc CSV.

Để biết thêm thông tin, hãy xem trang "auth:import và auth:export".

auth:import \
DATA_FILE

Nhập tài khoản người dùng từ tệp JSON hoặc CSV vào dự án Firebase đang hoạt động.

Để biết thêm thông tin, hãy xem trang "auth:import và auth:export".

Lệnh Cloud Firestore

Ra lệnh Mô tả
firestore:locations

Liệt kê các vị trí có sẵn cho các phiên bản cơ sở dữ liệu Cloud Firestore trong dự án Firebase đang hoạt động.

Tìm hiểu về các vị trí có thể sử dụng phiên bản Standard, phiên bản Enterprise, và khả năng tương thích với MongoDB.

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

Tạo phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định (ở chế độ gốc) ở vị trí được chỉ định.
Chạy firebase firestore:locations để liệt kê các vị trí có sẵn cho REGION_NAME.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --delete-protection DELETION_PROTECTION_STATE
    Cho phép hoặc ngăn chặn việc xoá phiên bản cơ sở dữ liệu Cloud Firestore đã chỉ định. Các giá trị hợp lệ là ENABLED hoặc DISABLED. Nếu bạn bỏ qua, giá trị mặc định sẽ là DISABLED.
  • --point-in-time-recovery PITR_STATE
    Đặt xem có bật tính năng khôi phục tại thời điểm cụ thể cho phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định hay không. Các giá trị hợp lệ là ENABLED hoặc DISABLED. Nếu bạn bỏ qua, giá trị mặc định sẽ là DISABLED.
  • --edition EDITION
    Đặt phiên bản cho thực thể cơ sở dữ liệu Cloud Firestore được chỉ định.
    Các giá trị hợp lệ là standard hoặc enterprise. Nếu bạn bỏ qua, giá trị mặc định sẽ là standard.
  • --firestore-data-access ENABLEMENT_STATE
    (Chỉ dành cho phiên bản Enterprise) Kiểm soát phạm vi cung cấp API Cloud Firestore. Các giá trị hợp lệ là ENABLED hoặc DISABLED. Nếu bạn bỏ qua, giá trị mặc định sẽ là ENABLED (tuy nhiên, khi --mongodb-compatible-data-access là ENABLED, giá trị mặc định sẽ là DISABLED).
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (Chỉ dành cho phiên bản Enterprise) Kiểm soát khả năng sử dụng API tương thích với MongoDB. Các giá trị hợp lệ là ENABLED hoặc DISABLED. Nếu bạn bỏ qua, giá trị mặc định sẽ là DISABLED.
  • --realtime-updates ENABLEMENT_STATE
    (Chỉ dành cho phiên bản Enterprise) Bật hoặc tắt tính năng "Xem" (theo thời gian thực). Các giá trị hợp lệ là ENABLED hoặc DISABLED. Nếu bạn bỏ qua, giá trị mặc định sẽ là ENABLED khi --firestore-data-access là ENABLED (nếu không, giá trị mặc định của máy chủ sẽ được sử dụng).
    Để đặt cờ này, bạn cần đặt --firestore-data-access thành ENABLED.
firestore:databases:list

Liệt kê tất cả các thực thể cơ sở dữ liệu Cloud Firestore trong dự án Firebase đang hoạt động.

firestore:databases:get \
[DATABASE_ID]

Truy xuất cấu hình cơ sở dữ liệu cho phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định.
Nếu bạn bỏ qua DATABASE_ID, thì hệ thống sẽ mặc định sử dụng thực thể cơ sở dữ liệu Cloud Firestore mặc định của dự án Firebase đang hoạt động.

Kết quả dạng bảng bao gồm Edition của cơ sở dữ liệu cho tất cả cơ sở dữ liệu. Các trường trạng thái về quyền truy cập vào dữ liệu doanh nghiệp và thông tin cập nhật theo thời gian thực chỉ được đưa vào kết quả JSON thô khi --json được truyền.

firestore:databases:update \
DATABASE_ID

Cập nhật cấu hình cơ sở dữ liệu của phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định.

Bạn phải có ít nhất một cờ (các cờ bị bỏ qua sẽ giữ lại chế độ cài đặt hiện tại). Lệnh này hỗ trợ các cờ sau:

  • --delete-protection DELETION_PROTECTION_STATE
    Cho phép hoặc ngăn chặn việc xoá phiên bản cơ sở dữ liệu Cloud Firestore đã chỉ định. Các giá trị hợp lệ là ENABLED hoặc DISABLED.
  • --point-in-time-recovery PITR_STATE
    Đặt xem có bật tính năng khôi phục tại thời điểm cụ thể cho phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định hay không. Các giá trị hợp lệ là ENABLED hoặc DISABLED.
firestore:databases:delete \
DATABASE_ID

Xoá phiên bản cơ sở dữ liệu Cloud Firestore được chỉ định.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền cờ --force. (Không giống như các lệnh khác, firestore:databases:delete không hỗ trợ viết tắt -f.)

firestore:indexes

Liệt kê tất cả chỉ mục cho một thực thể cơ sở dữ liệu Cloud Firestore.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --database DATABASE_ID
    Chỉ định thực thể cơ sở dữ liệu Cloud Firestore để liệt kê các chỉ mục. Nếu bạn bỏ qua, các chỉ mục sẽ được liệt kê cho phiên bản cơ sở dữ liệu mặc định Cloud Firestore của dự án Firebase đang hoạt động.
firestore:delete \
[PATH]

Xoá tài liệu tại đường dẫn cơ sở dữ liệu được chỉ định (PATH) khỏi một thực thể cơ sở dữ liệu Cloud Firestore.

PATH là bắt buộc trừ phi --all-collections được truyền. Thao tác xoá một tập hợp hoặc tài liệu có tập hợp con sẽ không thành công, trừ phi bạn truyền -r/--recursive hoặc --shallow.

Xin lưu ý rằng việc xoá dữ liệu Cloud Firestore bằng CLI sẽ phát sinh chi phí đọc và xoá. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu về việc thanh toán cho Cloud Firestore.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --database DATABASE_ID
    Chỉ định cơ sở dữ liệu Cloud Firestore chứa tài liệu cần xoá. Nếu bạn bỏ qua, tài liệu sẽ bị xoá khỏi phiên bản cơ sở dữ liệu mặc định Cloud Firestore của dự án Firebase đang hoạt động.
  • --all-collections
    Xoá tất cả bộ sưu tập trong cơ sở dữ liệu. (Đừng truyền PATH khi sử dụng cờ này.)
  • -r hoặc --recursive
    Xoá đệ quy tất cả tài liệu và tập hợp con tại đường dẫn đã chỉ định. (Không thể truyền bằng --shallow.)
  • --shallow
    Chỉ xoá tài liệu ở cấp được chỉ định và bỏ qua tài liệu trong bộ sưu tập con. Xin lưu ý rằng việc này có thể khiến các tài liệu lồng nhau bị mồ côi. (Không thể truyền cùng với -r hoặc --recursive.)

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

Lệnh Cloud Functions for Firebase

Để biết thêm thông tin, hãy xem tài liệu về cấu hình môi trường.

Ra lệnh Mô tả
functions:config:export

Xuất cấu hình thời gian chạy functions.config() cũ của dự án Firebase đang hoạt động dưới dạng một bí mật JSON duy nhất trong Google Cloud Secret Manager (để sử dụng với defineJsonSecret).

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --secret SECRET_NAME
    Chỉ định tên của khoá bí mật cần tạo hoặc cập nhật trong Google Cloud Secret Manager. Nếu bạn bỏ qua, CLI sẽ nhắc bạn nhập tên (mặc định là FUNCTIONS_CONFIG_EXPORT).
  • -f hoặc --force
    Sử dụng tên bí mật mặc định (FUNCTIONS_CONFIG_EXPORT) mà không cần nhắc và thêm phiên bản bí mật mới mà không cần xác nhận nếu bí mật đã tồn tại. (Bắt buộc để thêm phiên bản mới vào một bí mật hiện có ở chế độ không tương tác.)
functions:delete \
FUNCTION_NAME...

Xoá một hoặc nhiều hàm được chỉ định khỏi dự án Firebase đang hoạt động.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

functions:list Liệt kê tất cả các hàm đã triển khai trong dự án Firebase đang hoạt động.
functions:log Đọc nhật ký của tất cả Cloud Functions đã triển khai trong dự án Firebase đang hoạt động.
functions:secrets:access \
SECRET_NAME[@VERSION]
Truy cập vào giá trị của mật khẩu cho tên mật khẩu được chỉ định tại phiên bản được chỉ định.
Nếu bạn bỏ qua [@VERSION], thì theo mặc định, hệ thống sẽ truy cập vào phiên bản mới nhất.
functions:secrets:destroy \
SECRET_NAME[@VERSION]

Huỷ mã thông báo bí mật đã chỉ định ở phiên bản đã chỉ định.
Nếu bạn bỏ qua [@VERSION], thì theo mặc định, phiên bản mới nhất sẽ bị huỷ.

CLI hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Lời nhắc này sẽ tự động xác nhận ở chế độ không tương tác mà không có -f hoặc --force. Tuy nhiên, nếu khoá bí mật vẫn liên kết với các điểm cuối hàm đang hoạt động, thì bạn phải truyền -f hoặc --force để huỷ khoá bí mật đó.

functions:secrets:get \
SECRET_NAME
Truy xuất siêu dữ liệu và phiên bản cho tên mật khẩu đã chỉ định.
functions:secrets:prune Huỷ bỏ tất cả các khoá bí mật không dùng đến trong dự án Firebase đang hoạt động.
functions:secrets:set \
SECRET_NAME
Tạo hoặc cập nhật khoá bí mật được chỉ định.
functions:shell Bắt đầu một shell tương tác cục bộ để kiểm thử các hàm.
functions:config:clone \
--from PROJECT_ID

Không dùng nữa.
Sao chép môi trường của một dự án khác vào dự án Firebase đang hoạt động.

Tắt theo mặc định. Để sử dụng lệnh này, trước tiên hãy chạy firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:get Không dùng nữa.
Truy xuất các giá trị cấu hình hiện có của Cloud Functions trong dự án Firebase đang hoạt động.
functions:config:set \
KEY=VALUE...

Không dùng nữa.
Lưu trữ các giá trị cấu hình thời gian chạy của Cloud Functions trong dự án Firebase đang hoạt động.

Tắt theo mặc định. Để sử dụng lệnh này, trước tiên hãy chạy firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:unset \
KEY...

Không dùng nữa.
Xoá các giá trị khỏi cấu hình thời gian chạy của dự án Firebase đang hoạt động.

Tắt theo mặc định. Để sử dụng lệnh này, trước tiên hãy chạy firebase experiments:enable legacyRuntimeConfigCommands.

Lệnh Crashlytics

Ra lệnh Mô tả
crashlytics:mappingfile:generateid \
--resource-file PATH/TO/ANDROID_RESOURCE.XML
Tạo mã nhận dạng tệp ánh xạ duy nhất trong tệp tài nguyên Android (XML) được chỉ định.
crashlytics:mappingfile:upload \
--app FIREBASE_APP_ID \
--resource-file PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Tải tệp ánh xạ (TXT) tương thích với Proguard lên cho Ứng dụng Firebase được chỉ định, đồng thời liên kết tệp đó với mã nhận dạng tệp ánh xạ được khai báo trong tệp tài nguyên Android (XML) được chỉ định.
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

Tạo tệp biểu tượng tương thích với Crashlytics cho các sự cố thư viện gốc của Android (ví dụ: Android NDK hoặc bản dựng Android của Unity hoặc Flutter) và tải tệp đó lên máy chủ Firebase.

Lệnh này chỉ hỗ trợ Android. Đối với dSYM của iOS, hãy sử dụng tập lệnh upload-symbols của SDK Apple.

Lệnh Extensions

Ra lệnh Mô tả
ext Hiển thị thông tin về cách sử dụng các lệnh Firebase Extensions.
Liệt kê các phiên bản tiện ích được cài đặt trong dự án đang hoạt động.
ext:configure \
EXTENSION_INSTANCE_ID
Định cấu hình lại các giá trị tham số của một phiên bản tiện ích trong tệp kê khai tiện ích.
ext:info \
PUBLISHER_ID/EXTENSION_ID
In thông tin chi tiết về một tiện ích.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Thêm một phiên bản mới của tiện ích vào tệp kê khai tiện ích.
ext:sdk:install \
EXTENSION_NAME
Cài đặt SDK để xác định tiện ích trong hàm.
ext:list Liệt kê tất cả các phiên bản tiện ích được cài đặt trong một dự án Firebase.
In mã nhận dạng thực thể cho mỗi tiện ích.
ext:uninstall \
EXTENSION_INSTANCE_ID
Xoá một thực thể tiện ích khỏi tệp kê khai tiện ích.
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

Cập nhật một phiên bản tiện ích lên phiên bản mới nhất (hoặc lên phiên bản UPDATE_SOURCE đã phát hành được chỉ định) trong tệp kê khai tiện ích. Xin lưu ý rằng đối với UPDATE_SOURCE, đường dẫn cục bộ và URL không được hỗ trợ.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Bạn có thể truyền -f hoặc --force để bỏ qua lời nhắc này trong chế độ tương tác; tuy nhiên, ext:update là một lệnh chỉ tương tác và không được hỗ trợ ở chế độ không tương tác ngay cả khi có -f hoặc --force.

ext:export Xuất tất cả các phiên bản tiện ích đã cài đặt từ dự án sang tệp kê khai tiện ích.

Extensions lệnh của nhà xuất bản

Ra lệnh Mô tả
ext:dev:init Khởi chạy một cơ sở mã khung cho một tiện ích mới trong thư mục hiện tại.
ext:dev:list \
PUBLISHER_ID
In danh sách tất cả các tiện ích mà nhà xuất bản đã tải lên.
ext:dev:register Đã tắt.
Chúng tôi không còn hỗ trợ việc đăng ký mã hồ sơ nhà xuất bản mới.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
[VERSION_PREDICATE]
Ngừng sử dụng các phiên bản tiện ích khớp với vị từ phiên bản.
Vị từ phiên bản có thể là một phiên bản duy nhất (chẳng hạn như 1.0.0) hoặc một dải phiên bản (chẳng hạn như >1.0.0).
Nếu không có vị từ phiên bản nào được cung cấp, thì tất cả phiên bản của phần mở rộng đó sẽ không được dùng nữa.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Huỷ ngừng sử dụng các phiên bản tiện ích khớp với vị từ phiên bản.
Vị ngữ phiên bản có thể là một phiên bản duy nhất (chẳng hạn như 1.0.0) hoặc một dải phiên bản (chẳng hạn như >1.0.0).
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Tải phiên bản mới của tiện ích lên.
ext:dev:usage \
PUBLISHER_ID
Hiển thị số lượt cài đặt và chỉ số sử dụng cho các tiện ích do một nhà xuất bản tải lên.

Lệnh Hosting

Ra lệnh Mô tả
hosting:disable

Ngừng phân phát lưu lượng truy cập Firebase Hosting cho một trang web Hosting.

URL Hosting của trang web sẽ hiển thị thông báo "Không tìm thấy trang web" sau khi chạy lệnh này.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --site SITE_ID
    Chỉ định trang web Hosting cần tắt. Nếu bạn bỏ qua, thì trang web mặc định của Hosting trong dự án Firebase đang hoạt động sẽ được dùng.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

Quản lý Hosting trang web
hosting:sites:create \
[SITE_ID]

Tạo một trang web Hosting mới bằng SITE_ID được chỉ định.

Nếu CLI đang chạy ở chế độ không tương tác, thì bạn phải có SITE_ID.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --app FIREBASE_APP_ID
    Chỉ định một Ứng dụng web Firebase hiện có để liên kết với trang web Hosting mới.
hosting:sites:delete \
SITE_ID

Xoá trang web Hosting được chỉ định.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

hosting:sites:get \
SITE_ID

Truy xuất thông tin chi tiết về trang web Hosting được chỉ định.

Kết quả của bảng bao gồm mã trang web, URL mặc định và Mã ứng dụng web Firebase (nếu được liên kết). Siêu dữ liệu bổ sung (chẳng hạn như liệu trang web có phải là DEFAULT_SITE hay USER_SITE hay không) chỉ được đưa vào kết quả JSON thô khi --json được truyền.

hosting:sites:list Liệt kê tất cả trang web Hosting trong dự án Firebase đang hoạt động.
Quản lý kênh xem trước
hosting:channel:create \
[CHANNEL_ID]

Tạo kênh xem trước mới cho trang web Hosting bằng cách sử dụng CHANNEL_ID được chỉ định.
Lệnh này không triển khai cho kênh.

Nếu CLI đang chạy ở chế độ không tương tác, thì bạn phải có CHANNEL_ID.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --site SITE_ID
    Chỉ định trang web Hosting để tạo kênh xem trước. Nếu bạn bỏ qua, thì trang web mặc định của Hosting trong dự án Firebase đang hoạt động sẽ được dùng.
hosting:channel:delete \
CHANNEL_ID

Xoá kênh xem trước được chỉ định. Bạn không thể xoá kênh trực tiếp của một trang web.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --site SITE_ID
    Chỉ định trang web Hosting để xoá kênh xem trước. Nếu bạn bỏ qua, thì trang web mặc định của Hosting trong dự án Firebase đang hoạt động sẽ được dùng.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

hosting:channel:deploy \
CHANNEL_ID

Triển khai nội dung và cấu hình Hosting của bạn cho kênh xem trước được chỉ định.
Nếu kênh xem trước chưa tồn tại, lệnh này sẽ tạo kênh trong trang web Hosting trước khi triển khai cho kênh.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --only TARGETS
    Chỉ định danh sách mục tiêu Hosting được phân tách bằng dấu phẩy, được định cấu hình trong firebase.json để triển khai cho kênh xem trước. Nếu bạn bỏ qua, thì hệ thống sẽ triển khai cho tất cả trang web Hosting được định cấu hình trong firebase.json.
hosting:channel:list

Liệt kê tất cả các kênh (bao gồm cả kênh "live") cho một trang web Hosting.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --site SITE_ID
    Chỉ định trang web Hosting để liệt kê các kênh. Nếu bạn bỏ qua, thì trang web mặc định của Hosting trong dự án Firebase đang hoạt động sẽ được dùng.
hosting:channel:open \
[CHANNEL_ID]

Mở trình duyệt đến URL của kênh được chỉ định hoặc trả về URL nếu không thể mở trong trình duyệt.

Nếu CLI đang chạy ở chế độ không tương tác, thì bạn phải có CHANNEL_ID.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --site SITE_ID
    Chỉ định trang web Hosting cho kênh xem trước. Nếu bạn bỏ qua, thì trang web mặc định của Hosting trong dự án Firebase đang hoạt động sẽ được dùng.
Sao chép phiên bản
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Sao chép phiên bản được triển khai gần đây nhất trên kênh "nguồn" được chỉ định sang kênh "đích" được chỉ định.

Lệnh này cũng triển khai cho kênh "đích" được chỉ định. Nếu kênh "target" chưa tồn tại, thì lệnh này sẽ tạo một kênh xem trước mới trong trang web "target" Hosting trước khi triển khai cho kênh đó.

hosting:clone \
SOURCE_SITE_ID@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Sao chép phiên bản được chỉ định sang kênh "đích" được chỉ định.

Lệnh này cũng triển khai cho kênh "đích" được chỉ định. Nếu kênh "target" chưa tồn tại, thì lệnh này sẽ tạo một kênh xem trước mới trong trang web "target" Hosting trước khi triển khai cho kênh đó.

Bạn có thể tìm thấy VERSION_ID trong trang tổng quan Hosting của bảng điều khiển Firebase.

Lệnh Realtime Database

Xin lưu ý rằng bạn có thể tạo thực thể Realtime Database mặc định ban đầu trong bảng điều khiển Firebase hoặc bằng cách sử dụng quy trình làm việc firebase init chung hoặc quy trình firebase init database cụ thể.

Sau khi tạo các thực thể, bạn có thể quản lý các thực thể đó như mô tả trong phần Quản lý và tương tác với các thực thể cụ thể bằng CLI.

Ra lệnh Mô tả
database:get \
PATH

Truy xuất dữ liệu tại vị trí cơ sở dữ liệu được chỉ định (PATH) cho một thực thể Realtime Database và hiển thị dữ liệu dưới dạng JSON. Hỗ trợ truy vấn trên dữ liệu được lập chỉ mục.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

Tạo một thực thể Realtime Database có DATABASE_NAME được chỉ định ở vị trí được chỉ định.

Lệnh này hỗ trợ cờ không bắt buộc (nhưng nên dùng) sau đây:

Bạn không thể sử dụng lệnh này để tạo thực thể mặc định Realtime Database cho dự án Firebase đang hoạt động. Nếu dự án không chứa bất kỳ thực thể Realtime Database hiện có nào, thì bạn sẽ được nhắc chạy quy trình firebase init để tạo thực thể Realtime Database đầu tiên của dự án (thực thể mặc định).

database:instances:list

Liệt kê tất cả các thực thể Realtime Database trong dự án Firebase đang hoạt động.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --location REGION_NAME
    Chỉ định một vị trí cụ thể để liệt kê các thực thể Realtime Database. Để biết tên các khu vực được hỗ trợ, hãy xem bài viết Vị trí cho Realtime Database.
database:profile

Tạo hồ sơ hoạt động cho một thực thể Realtime Database.
Để biết thêm thông tin, hãy xem các loại thao tác Realtime Database.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.
database:push \
PATH \
[INFILE]

Đẩy dữ liệu mới vào danh sách tại vị trí cơ sở dữ liệu được chỉ định (PATH) trong một thực thể Realtime Database.

Lấy dữ liệu đầu vào từ một tệp (INFILE), STDIN hoặc cờ -d (--data).

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.
database:remove \
PATH

Xoá tất cả dữ liệu tại vị trí cơ sở dữ liệu được chỉ định (PATH) trong một thực thể Realtime Database.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

database:set \
PATH \
[INFILE]

Thay thế tất cả dữ liệu tại vị trí cơ sở dữ liệu được chỉ định (PATH) trong một thực thể Realtime Database.

Lấy dữ liệu đầu vào từ một tệp (INFILE), STDIN hoặc cờ -d (--data).

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

database:update \
PATH \
[INFILE]

Thực hiện cập nhật một phần tại vị trí cơ sở dữ liệu được chỉ định (PATH) trong một thực thể Realtime Database.

Lấy dữ liệu đầu vào từ một tệp (INFILE), STDIN hoặc cờ -d (--data).

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --instance DATABASE_NAME
    Chỉ định thực thể Realtime Database cho hành động. Nếu bạn bỏ qua, thì giá trị mặc định sẽ là thực thể mặc định Realtime Database của dự án Firebase đang hoạt động.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

Lệnh Remote Config

Các lệnh này và trường hợp sử dụng của chúng được trình bày chi tiết hơn trong phần Sửa đổi Remote Config theo phương thức lập trình.

Ra lệnh Mô tả
remoteconfig:versions:list

Liệt kê tất cả phiên bản của mẫu Remote Config.

Lệnh này hỗ trợ cờ không bắt buộc sau:

  • --limit NUMBER_OF_VERSIONS
    Chỉ định số lượng phiên bản tối đa cần trả về. Chỉ định 0 để trả về tất cả các phiên bản hiện có. Nếu bạn bỏ qua, giá trị mặc định sẽ là 10.
remoteconfig:get \
--version-number VERSION_NUMBER

Truy xuất thông tin chi tiết của mẫu Remote Config tại phiên bản được chỉ định.

Lệnh này hỗ trợ các cờ không bắt buộc (nhưng nên dùng) sau đây:

  • -v hoặc --version-number VERSION_NUMBER
    Chỉ định phiên bản của mẫu Remote Config cần truy xuất. Nếu bạn bỏ qua, phiên bản mới nhất sẽ được dùng theo mặc định.
  • -o hoặc --output FILENAME
    Ghi kết quả vào tệp JSON có tên tệp được chỉ định thay vì in kết quả dưới dạng bảng.
remoteconfig:rollback \
--version-number VERSION_NUMBER

Khôi phục mẫu Remote Config về phiên bản trước đó được chỉ định.

Lệnh này hỗ trợ cờ không bắt buộc (nhưng nên dùng) sau đây:

  • -v hoặc --version-number VERSION_NUMBER
    Chỉ định phiên bản của mẫu Remote Config để khôi phục. Nếu bạn bỏ qua, thì phiên bản trước đó sẽ được đặt làm mặc định (phiên bản hiện tại - 1).

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Để bỏ qua lời nhắc xác nhận (bắt buộc ở chế độ không tương tác), hãy truyền các cờ sau: -f hoặc --force.

remoteconfig:experiments:list

Liệt kê tất cả thử nghiệm Remote Config trong dự án Firebase đang hoạt động.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --filter EXPRESSION
    Chỉ định biểu thức để lọc các thử nghiệm.
  • --pageSize NUMBER
    Chỉ định số lượng thử nghiệm sẽ trả về trên mỗi trang. Nếu bạn bỏ qua, giá trị mặc định sẽ là 10.
  • --pageToken TOKEN
    Chỉ định độ lệch bắt đầu cho danh sách.
remoteconfig:experiments:get \
EXPERIMENT_ID

Truy xuất thông tin chi tiết về thử nghiệm Remote Config được chỉ định.

Kết quả đầu ra của bảng bao gồm tên tài nguyên, tên hiển thị, trạng thái (PENDING, RUNNING, DONE hoặc EXPIRED), thời gian bắt đầu và kết thúc, biến thể (tên và trọng số phân bổ lưu lượng truy cập) và mục tiêu/chỉ số đã định cấu hình của thử nghiệm. Nội dung mô tả thử nghiệm chỉ được đưa vào đầu ra JSON thô khi --json được truyền.

remoteconfig:experiments:delete \
EXPERIMENT_ID

Xoá thử nghiệm Remote Config được chỉ định.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động và không hỗ trợ cờ -f hoặc --force. Ở chế độ không tương tác, xác nhận mặc định là không và lệnh sẽ thoát mà không xoá thử nghiệm.

remoteconfig:rollouts:list

Liệt kê tất cả các bản phát hành Remote Config trong dự án Firebase đang hoạt động.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --filter EXPRESSION
    Chỉ định biểu thức để lọc các bản phát hành.
  • --pageSize NUMBER
    Chỉ định số lượng bản phát hành cần trả về trên mỗi trang. Nếu bạn bỏ qua, giá trị mặc định sẽ là 10.
  • --pageToken TOKEN
    Chỉ định độ lệch bắt đầu cho danh sách.
remoteconfig:rollouts:get \
ROLLOUT_ID
Truy xuất thông tin chi tiết về quá trình phát hành Remote Config được chỉ định.
remoteconfig:rollouts:delete \
ROLLOUT_ID

Xoá đợt phát hành Remote Config được chỉ định.

CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động và không hỗ trợ cờ -f hoặc --force. (Ở chế độ không tương tác, xác nhận mặc định là không và lệnh sẽ thoát mà không xoá bản phát hành.)

Lệnh SQL Connect

Các lệnh này và trường hợp sử dụng được trình bày chi tiết hơn trong Hướng dẫn tham khảo về CLI SQL Connect.

Ra lệnh Mô tả
dataconnect:services:list Liệt kê tất cả dịch vụ SQL Connect đã triển khai trong dự án Firebase đang hoạt động.
dataconnect:sql:diff

Hiển thị sự khác biệt giữa giản đồ SQL Connect cục bộ và giản đồ cơ sở dữ liệu Cloud SQL của bạn.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --service SERVICE_ID
    Chỉ định mã dịch vụ SQL Connect. Nếu bạn bỏ qua, hệ thống sẽ sử dụng một dịch vụ duy nhất được định cấu hình trong firebase.json. Nếu bạn định cấu hình nhiều dịch vụ, thì lệnh này sẽ không thành công trừ phi bạn chỉ định --service và --location (nếu cần).
  • --location LOCATION
    Chỉ định vị trí của dịch vụ SQL Connect. Chỉ cần thiết nếu mã dịch vụ được dùng ở nhiều vị trí.
dataconnect:sql:migrate

Di chuyển giản đồ cho cơ sở dữ liệu Cloud SQL để khớp với giản đồ SQL Connect cục bộ.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --service SERVICE_ID
    Chỉ định mã dịch vụ SQL Connect. Nếu bạn bỏ qua, thì lệnh này sẽ sử dụng một dịch vụ duy nhất được định cấu hình trong firebase.json (nếu bạn định cấu hình nhiều dịch vụ, thì lệnh này sẽ không thành công trừ phi bạn chỉ định --service và --location nếu cần).
  • --location LOCATION
    Chỉ định vị trí của dịch vụ SQL Connect. Chỉ cần thiết nếu mã dịch vụ được dùng ở nhiều vị trí.

Ở chế độ tương tác, CLI sẽ hiển thị lời nhắc xác nhận trước khi thực hiện hành động. Ở chế độ không tương tác, quá trình di chuyển không có tính huỷ bỏ sẽ tự động chạy, trong khi các thay đổi có tính huỷ bỏ sẽ bị huỷ trừ phi bạn truyền -f hoặc --force (cũng bỏ qua lời nhắc xác nhận ở chế độ tương tác).

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

Cấp SQL_ROLE được chỉ định (một trong các quyền: owner, writer hoặc reader) cho EMAIL_ADDRESS được chỉ định của người dùng hoặc tài khoản dịch vụ.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --service SERVICE_ID
    Chỉ định mã dịch vụ SQL Connect. Nếu bạn bỏ qua, thì lệnh này sẽ sử dụng một dịch vụ duy nhất được định cấu hình trong firebase.json (nếu bạn định cấu hình nhiều dịch vụ, thì lệnh này sẽ không thành công trừ phi bạn chỉ định --service và --location nếu cần).
  • --location LOCATION
    Chỉ định vị trí của dịch vụ SQL Connect. Chỉ cần thiết nếu mã dịch vụ được dùng ở nhiều vị trí.
dataconnect:sdk:generate

Tạo SDK được nhập cho trình kết nối SQL Connect của bạn.

Lệnh này hỗ trợ các cờ không bắt buộc sau:

  • --service SERVICE_ID
    Chỉ định mã dịch vụ SQL Connect. Nếu bạn bỏ qua, SDK sẽ được tạo cho tất cả dịch vụ đã định cấu hình.
  • --location LOCATION
    Chỉ định vị trí của dịch vụ SQL Connect. Chỉ cần thiết nếu mã dịch vụ được dùng ở nhiều vị trí.
  • --watch
    Theo dõi các thay đổi đối với tệp GQL của trình kết nối và tạo lại SDK khi có bản cập nhật.