在運行時適用的函數的配置選項。
簽名:
export interface RuntimeOptions
特性
財產 | 類型 | 描述 |
---|---|---|
消耗AppCheckToken | 布林值 | 決定是否根據請求使用 Firebase App Check 令牌。預設為 false。 |
強制應用程式檢查 | 布林值 | 決定是否強制執行 Firebase AppCheck。 |
失敗策略 | 失敗政策|布林值 | 函數的失敗策略,boolean true 相當於提供一個空的重試物件。 |
入口設置 | ( INGRESS_SETTINGS_OPTIONS類型)[數量] |重置值 | 控制從何處呼叫此函數的入口設定。 |
呼叫者 | 「公共」| 「私人」|字串|細繩[] | 呼叫者設定 https 函數的存取控制。 |
標籤 | 記錄<字串,字串> | 在函數上設定的使用者標籤。 |
最大實例數 | 數量 |表達<數字> |重置值 | 允許並行運行的最大實際實例數。 |
記憶 | ( VALID_MEMORY_OPTIONS類型)[數量] |表達<數字> |重置值 | 分配給函數的記憶體量。 |
最小實例數 | 數量 |表達<數字> |重置值 | 在給定時間運行的最小實際實例數。 |
保留外部更改 | 布林值 | 控制是否保留在函數來源外部修改的函數配置。預設為 false。 |
秘密 | (字串 | SecretParam)[] | |
服務帳戶 | “預設”|字串|表達<字串> |重置值 | 執行該函數的特定服務帳戶。 |
超時秒數 | 數量 |表達<數字> |重置值 | 此函數的超時時間(以秒為單位),可能的值為 0 到 540。 |
vpc連接器 | 字串|表達<字串> |重置值 | 將雲端功能連接到指定的VPC連接器。 |
vpcConnectorEgressSettings | ( VPC_EGRESS_SETTINGS_OPTIONS類型)[數量] |重置值 | VPC 連接器的出口設定。 |
RuntimeOptions.consumeAppCheckToken
決定是否根據請求使用 Firebase App Check 令牌。預設為 false。
將此設為 true 可透過在可呼叫請求上使用 App Check 令牌來啟用 App Check 重播保護功能。發現已被消耗的令牌會將request.app.alreadyConsumed
屬性設為 true。
僅當透過將此選項設為 true 將令牌傳送到 App Check 服務時,令牌才被視為已消耗。令牌的其他用途不會消耗它。
此重播保護功能需要對 App Check 後端進行額外的網路調用,並強制用戶端從所選證明提供者取得新的證明。因此,這可能會對效能產生負面影響,並且可能會更快地耗盡證明提供者的配額。僅使用此功能來保護小批量、安全關鍵或昂貴的操作。
此選項不會影響enforceAppCheck
選項。當請求包含無效的 App Check 令牌時,將後者設為 true 將導致可呼叫函數自動回應 401 Unauthorized 狀態代碼。當請求包含有效但已消耗的 App Check 令牌時,請求不會被自動拒絕。相反, request.app.alreadyConsumed
屬性將設為 true 並將執行傳遞給處理程序代碼以做出進一步的決策,例如需要額外的安全檢查或拒絕請求。
簽名:
consumeAppCheckToken?: boolean;
RuntimeOptions.enforceAppCheck
決定是否強制執行 Firebase AppCheck。
如果為 true,則具有無效令牌的請求會自動回應 401(未經授權)錯誤。當為 false 時,帶有無效令牌的請求會將 context.app 設定為 undefiend。
簽名:
enforceAppCheck?: boolean;
RuntimeOptions.failurePolicy
函數的失敗策略,boolean true
相當於提供一個空的重試物件。
簽名:
failurePolicy?: FailurePolicy | boolean;
RuntimeOptions.ingressSettings
控制從何處呼叫此函數的入口設定。
簽名:
ingressSettings?: (typeof INGRESS_SETTINGS_OPTIONS)[number] | ResetValue;
RuntimeOptions.invoker
呼叫者設定 https 函數的存取控制。
簽名:
invoker?: "public" | "private" | string | string[];
RuntimeOptions.labels
在函數上設定的使用者標籤。
簽名:
labels?: Record<string, string>;
RuntimeOptions.maxInstances
允許並行運行的最大實際實例數。
簽名:
maxInstances?: number | Expression<number> | ResetValue;
運行時選項.內存
分配給函數的記憶體量。
簽名:
memory?: (typeof VALID_MEMORY_OPTIONS)[number] | Expression<number> | ResetValue;
RuntimeOptions.minInstances
在給定時間運行的最小實際實例數。
實例將根據空閒時的記憶體分配和 10% 的 CPU 分配進行計費。
簽名:
minInstances?: number | Expression<number> | ResetValue;
RuntimeOptions.preserveExternalChanges
控制是否保留在函數來源外部修改的函數配置。預設為 false。
當設定底層平台中可用但 Firebase Functions SDK 中尚不可用的配置時,我們強烈建議將preserveExternalChanges
設為true
。否則,當 Firebase Functions SDK 發布支援缺失配置的新版 SDK 時,您的函數的手動配置設定可能會無意中被清除。
簽名:
preserveExternalChanges?: boolean;
RuntimeOptions.secrets
簽名:
secrets?: (string | SecretParam)[];
RuntimeOptions.serviceAccount
執行該函數的特定服務帳戶。
簽名:
serviceAccount?: "default" | string | Expression<string> | ResetValue;
RuntimeOptions.timeoutSeconds
此函數的超時時間(以秒為單位),可能的值為 0 到 540。
簽名:
timeoutSeconds?: number | Expression<number> | ResetValue;
RuntimeOptions.vpcConnector
將雲端功能連接到指定的VPC連接器。
簽名:
vpcConnector?: string | Expression<string> | ResetValue;
RuntimeOptions.vpcConnectorEgressSettings
VPC 連接器的出口設定。
簽名:
vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;