Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Cloud Functions(第 2 代)公共預覽版

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Cloud RunEventarc的支持下,Cloud Functions for Firebase(第 2 代)有可能為您提供更強大的基礎設施、對性能和可擴展性的高級控制,以及對函數運行時的更多控制。此預覽文檔解釋了第二代預覽中的新功能和此時可用的功能,並提供了有關如何使用新 API 的一些指導,無論是單獨使用還是與 Cloud Functions for Firebase(第一代)API 一起使用。

Cloud Functions for Firebase(第 2 代)的新功能

Cloud Functions for Firebase(第 2 代)中當前可用的更改和增強功能包括:

  • 函數實例現在可以一次執行多個請求。此功能適用於具有一個專用 CPU 或更高版本的功能。可以在每個函數的基礎上或使用setGlobalOptions方法跨所有函數設置並發級別。如果未指定,具有 1 個專用 CPU 或更高的新功能將默認為 80 個並發請求。請參閱允許並發請求
  • 使用新的cors設置保護您的可調用函數和 HTTP 函數。 HTTP 觸發器現在也有一個cors設置,使 CORS 更易於管理
  • Cloud Functions 現在建立在Cloud Run之上。如果您不熟悉 Cloud Run,請不要擔心:構建函數與以前一樣簡單。 Cloud Run 是一種更現代的無服務器產品,可為您提供更好的性能、更好的配置、更好的監控等。
  • Google 與行業領導者合作創建了CloudEvents 規範。事件處理函數現在使用這個開放標準作為它們的事件簽名。
  • 新的觸發器類型包括Firebase Alerts 觸發器、Firebase Extensions 的自定義事件觸發器,以及用於在 Cloud Tasks 上運行資源密集型任務的任務隊列函數(第一代也提供任務隊列函數)。
  • firebase-functions SDK 經過重新設計,更適合現代 JavaScript。您可以全局配置第二代功能,使用選項對象,並使用模塊化導入
  • 如果長時間運行的工作負載需要,HTTP 函數現在可以有1 小時的超時時間(之前為 9 分鐘)
  • 函數實例現在默認為默認計算服務帳戶,而不是應用引擎服務帳戶。

預覽期間的限制

Cloud Functions 2nd gen 的預覽尚未包含完整的計劃功能集,也不提供與 Cloud Functions(第 1 代)完全相同的功能。它在觸發器和可用區域方面受到限制,並且具有本節中描述的其他當前限制。

當前可用的 Cloud Functions 位置

Cloud Functions 第二代目前在以下地區可用:

  • europe-north1
  • europe-west1
  • europe-west4
  • us-central1
  • us-east1
  • us-west1

當前可用的 Cloud Functions 觸發器

第二代 Cloud Functions 支持以下 Firebase 後台觸發器:

  • Firebase 實時數據庫
  • 雲儲存
  • Firebase 警報
  • 發布/訂閱
  • 可調用物
  • 雲任務
  • HTTP
  • 預定功能
  • Firebase 身份驗證阻止功能
  • Firebase 遠程配置
  • Firebase 測試實驗室

Cloud Functions 2nd gen當前不支持以下觸發器:

  • 雲端 Firestore
  • Firebase 身份驗證onCreateonDelete
  • 谷歌分析

其他限制

這些限制也適用於第二代 Cloud Functions:

  • 函數名稱僅限於小寫字母、數字和破折號。
  • 完全可觀察性尚未內置到 Firebase CLI 或 Firebase 控制台中。要觀察您的函數實例,請使用底層Cloud Run 服務的 Google Cloud Console。
  • Firebase Local Emulator Suite 目前在第二代中支持 HTTP、雲存儲和 Pub/Sub 功能。
  • HTTP 函數尚不支持cloudfunctions.net URL;暫時,您會看到.run.app URL。此限制還會影響可調用函數和任務隊列函數的調用(有關可接受的解決方法,請參閱相應的指南)。
  • 2代還沒有優化冷啟動,暫時可能比1代慢很多。但是,由於並發性,最終用戶總體上應該經歷更少的冷啟動。