Google is committed to advancing racial equity for Black communities. See how.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Chạy các chức năng cục bộ

Firebase CLI bao gồm trình giả lập Cloud Function có thể mô phỏng các loại chức năng sau:

  • Chức năng HTTPS
  • Chức năng gọi được
  • Chức năng Cloud Firestore

Bạn có thể chạy các chức năng cục bộ để kiểm tra chúng trước khi triển khai vào sản xuất.

Cài đặt Firebase CLI

Để sử dụng trình giả lập Cloud Function, trước tiên hãy cài đặt Firebase CLI:

npm install -g firebase-tools

Để sử dụng trình giả lập cục bộ, Chức năng đám mây của bạn phải phụ thuộc vào:

  • firebase-admin phiên bản 8.0.0 trở lên.
  • firebase-functions phiên bản 3.0.0 trở lên.

Thiết lập thông tin quản trị (tùy chọn)

Nếu bạn muốn các chức năng của mình kiểm tra tương tác với API Google hoặc API Firebase khác thông qua SDK quản trị Firebase , bạn có thể cần phải thiết lập thông tin đăng nhập của quản trị viên.

  • Trình kích hoạt cơ sở dữ liệu đám mây và thời gian thực của Cloud Firestore đã có đủ thông tin xác thực và không yêu cầu thiết lập bổ sung.
  • Tất cả các API khác, bao gồm API Firebase như Xác thực và API FCM hoặc Google như Dịch thuật đám mây hoặc Cloud Speech, yêu cầu các bước thiết lập được mô tả trong phần này. Điều này áp dụng cho dù bạn đang sử dụng firebase emulators:start shell hoặc firebase emulators:start .

Để thiết lập thông tin quản trị cho các chức năng mô phỏng:

  1. Mở ngăn Tài khoản dịch vụ của Google Cloud Console.
  2. Đảm bảo rằng tài khoản dịch vụ mặc định của Máy ứng dụng được chọn và sử dụng menu tùy chọn ở bên phải để chọn Khóa tạo .
  3. Khi được nhắc, hãy chọn JSON cho loại khóa và bấm Tạo .
  4. Đặt thông tin đăng nhập mặc định của Google để trỏ đến khóa đã tải xuống:

    Unix

     $ export GOOGLE_APPLICATION_CREDENTIALS="path/to/key.json"
    
    $ firebase emulators:start
     

    các cửa sổ

     $ set GOOGLE_APPLICATION_CREDENTIALS=path\to\key.json
    
    $ firebase emulators:start
     

Sau khi hoàn thành các bước này, các kiểm tra chức năng của bạn có thể truy cập Firebase và Google API bằng SDK quản trị . Ví dụ: khi kiểm tra trình kích hoạt Xác thực, hàm được mô phỏng có thể gọi admin.auth().getUserByEmail(email) .

Thiết lập cấu hình chức năng (tùy chọn)

Nếu bạn đang sử dụng các biến cấu hình chức năng tùy chỉnh, trước tiên hãy chạy lệnh để nhận cấu hình tùy chỉnh của bạn (chạy cái này trong thư mục functions ) trong môi trường cục bộ của bạn:

 firebase functions:config:get > .runtimeconfig.json
# If using Windows PowerShell, replace the above with:
# firebase functions:config:get | ac .runtimeconfig.json
firebase functions:shell
 

Chạy bộ giả lập

Để chạy trình giả lập Cloud Function, hãy sử dụng lệnh emulators:start :

firebase emulators:start

Các emulators:start lệnh emulators:start sẽ bắt đầu các trình giả lập cho Cloud Function, Cloud Firestore, Realtime Database và Firebase Hosting dựa trên các sản phẩm bạn đã khởi tạo trong dự án địa phương bằng cách sử dụng firebase init . Nếu bạn muốn bắt đầu một trình giả lập cụ thể, hãy sử dụng cờ --only :

firebase emulators:start --only functions

Nếu bạn muốn chạy bộ kiểm thử hoặc tập lệnh kiểm tra sau khi trình giả lập đã bắt đầu, hãy sử dụng lệnh emulators:exec :

firebase emulators:exec "./my-test.sh"

Tương tác với các dịch vụ khác

Bộ giả lập bao gồm nhiều trình giả lập, cho phép thử nghiệm các tương tác giữa các sản phẩm.

Đám mây lửa

Nếu bạn có các Hàm đám mây sử dụng SDK quản trị Firebase để ghi vào Cloud Firestore, những lần ghi này sẽ được gửi đến trình giả lập Cloud Firestore nếu nó đang chạy. Nếu các Hàm đám mây tiếp theo được kích hoạt bởi những lần ghi đó, chúng sẽ được chạy trong trình giả lập Chức năng đám mây.

Lưu trữ Firebase

Nếu bạn đang sử dụng Hàm đám mây để tạo nội dung động cho Firebase Hosting , firebase emulators:start sử dụng các hàm HTTP cục bộ của bạn làm proxy để lưu trữ.

Ghi nhật ký

Trình giả lập truyền các bản ghi từ các chức năng của bạn đến cửa sổ terminal nơi chúng chạy. Nó hiển thị tất cả đầu ra từ các câu lệnh console.log() , console.info() , console.error()console.warn() bên trong các hàm của bạn.

Bước tiếp theo

Để biết ví dụ đầy đủ về việc sử dụng bộ giả lập Firebase, hãy xem mẫu khởi động thử nghiệm .