RuntimeOptions interface

適用於執行階段的函式設定選項。

簽名:

export interface RuntimeOptions 

屬性

屬性 類型 說明
consumeAppCheckToken 布林值 決定是否在要求中使用 Firebase App Check 權杖。預設值為 false。
enforceAppCheck 布林值 決定是否強制執行 Firebase AppCheck。
failurePolicy FailurePolicy |布林值 函式的失敗政策,其中布林值 true 相當於提供空白的重試物件。
ingressSettings (INGRESS_SETTINGS_OPTIONS)[數字] |重設值 輸入設定,控管可以從何處呼叫這個函式。
叫用者 「公開」|「私人」|字串 |字串 [] 叫用來設定 HTTPS 函式的存取權控管。
標籤 錄音<字串, 字串> 要在函式上設定的使用者標籤。
maxInstances 數字 |運算式<數字>|重設值 允許同時執行的實際執行個體數量上限。
記憶體 (VALID_MEMORY_OPTIONS 類型)[數字] |運算式<數字>|重設值 要分配給函式的記憶體量。
minInstances 數字 |運算式<數字>|重設值 在指定時間運作的實際執行個體數量下限。
preserveExternalChanges 布林值 控管是否要保留在函式來源以外修改的函式設定。預設值為 false。
秘密 (字串 | SecretParam)[]
serviceAccount 「預設」|字串 |運算式<字串>|重設值 要做為函式執行的特定服務帳戶。
逾時秒數 數字 |運算式<數字>|重設值 函式的逾時時間 (以秒為單位),可能的值為 0 到 540。
vpcConnector 字串 |運算式<字串>|重設值 將 Cloud 函式連線至指定的虛擬私有雲連接器。
vpcConnectoregressSettings (VPC_EGRESS_SETTINGS_OPTIONS)[number] |重設值 虛擬私有雲連接器的輸出設定。

RuntimeOptions.consumeAppCheckToken

決定是否在要求中使用 Firebase App Check 權杖。預設值為 false。

設為 true,系統就會在可呼叫的要求中使用 App Check 重播防護功能,如果找到要使用的權杖,request.app.alreadyConsumed 屬性會設為 true。

只有在將這個選項設為 true 並傳送至 App Check 服務時,權杖才會被視為使用。權杖的其他用途不會消耗該權杖。

這項重播防護功能功能需要向 App Check 後端發出額外的網路呼叫,並強制用戶端向所選認證供應商取得新的認證。這可能會對效能產生負面影響,甚至可能會使認證供應商用盡讓配額更快這項功能僅適用於保護少量、攸關資安問題,或費用高昂的作業。

這個選項不會影響 enforceAppCheck 選項。如果將後者設為 True,當要求包含無效的 App Check 權杖時,可呼叫函式會自動傳回 401 Unauthorized 狀態碼。如果要求內含有效但已使用的 App Check 權杖,系統不會自動拒絕要求。而是會將 request.app.alreadyConsumed 屬性設為 true,並將執行作業傳送至處理常式程式碼,以便做出進一步決策,例如需要進行額外的安全性檢查或拒絕要求。

簽名:

consumeAppCheckToken?: boolean;

RuntimeOptions.enforceAppCheck

決定是否強制執行 Firebase AppCheck。

如果設為 true,包含無效權杖的要求將自動回應,並顯示 401 (Unauthorized) 錯誤。如果設為 False,含有無效權杖的要求會將 context.app 設為取消防禦。

簽名:

enforceAppCheck?: boolean;

RuntimeOptions.failurePolicy

函式的失敗政策,其中布林值 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;

RuntimeOptions.memory

要分配給函式的記憶體量。

簽名:

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

將 Cloud 函式連線至指定的虛擬私有雲連接器。

簽名:

vpcConnector?: string | Expression<string> | ResetValue;

RuntimeOptions.vpcConnectoregressSettings

虛擬私有雲連接器的輸出設定。

簽名:

vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;