開始使用實驗性 Dart SDK

Cloud Functions for Firebase 的實驗性 Dart 支援功能可讓您使用 Flutter 和 Dart 建構全端應用程式。使用新的 Firebase Admin Dart SDK 與其他 Firebase 服務通訊。

如要開始使用 Dart 函式,請完成本指南中的設定工作,然後繼續探索 Dart HTTP 和可呼叫函式。

事前準備

確認您使用的 Firebase CLI 版本支援 Cloud Functions for Firebase 中的 Dart,並使用 --version 旗標:

 `firebase --version`

Firebase CLI 中啟用實驗

firebase experiments:enable dartfunctions

初始化您的專案

  1. 執行: bash firebase init functions
  2. 選取 Dart 做為語言。
  3. 系統詢問「Do you want to install dependencies now?」(是否要立即安裝依附元件?) 時,請回答「Yes」。

查看函式程式碼

functions/bin/server.dart (或您的進入點) 中查看生成的程式碼。這段程式碼示範簡單的 HTTP 函式。

請注意,程式碼範例會使用 HttpsOptions 建構函式,將 helloWorld 函式的執行個體數量上限設為 10。如要進一步瞭解執行階段選項,請參閱「設定執行階段選項」。

在本機測試

firebase emulators:start

Local Emulator Suite 啟動後,您會看到類似 functions http function initialized (http://127.0.0.1:5001/<url>) 的記錄行。在瀏覽器中載入該網址,即可呼叫本機模擬的 Dart 函式。

如果您編輯 Dart 程式碼,Firebase Local Emulator Suite 會偵測到變更,並自動重新載入函式。

部署

firebase deploy --only functions

Dart 的部署程序與 Node.js 或 Python 函式不同。Firebase CLI 會在本機開發電腦上執行 Dart 編譯步驟,並將產生的二進位檔直接上傳至 Cloud Run 函式,而不是上傳原始碼至 Cloud Build 進行建構。

部署完成後,您會看到類似 Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app 的記錄行

在瀏覽器中載入該網址,即可呼叫新部署的 Dart 函式。

後續步驟

限制

  • onCall 觸發程序可以部署,但無法透過用戶端 SDK 呼叫,例如使用 httpsCallable 等方法 (這些方法會依名稱識別函式)。請改用 httpsCallableFromURL 等方法,並傳遞函式的完整 Cloud Run 網址。
  • 其他觸發條件 (例如 Firestore 觸發條件) 可在本機模擬器套件中執行,但無法部署。
  • 在實驗版發布期間,Firebase 控制台不會顯示 Dart 函式。您可以在Cloud控制台Cloud Run函式頁面中查看 Dart 函式。

如果您在使用 Dart 函式時發現問題,建議向團隊傳送報告,協助我們改善及擴充實驗性 Dart SDK。