在运行时适用的函数的配置选项。
签名:
export interface RuntimeOptions
属性
属性 | 类型 | 说明 |
---|---|---|
consumeAppCheckToken | 布尔值 | 确定是否根据请求使用 Firebase App Check 令牌。默认值为 false。 |
enforceAppCheck | 布尔值 | 确定是否强制执行 Firebase AppCheck。 |
failurePolicy | FailurePolicy |布尔值 | 函数的失败政策,布尔值 true 相当于提供一个空的重试对象。 |
ingressSettings | (类型:INGRESS_SETTINGS_OPTIONS)[number] |重置值 | 入站流量设置,用于控制从何处调用此函数。 |
invoker | “public”|“private”|字符串 |字符串 [] | 用于设置对 https 函数访问权限控制的调用方。 |
标签 | 记录<字符串, 字符串> | 要在函数上设置的用户标签。 |
maxInstances | 数字 |表达式<数字>|重置值 | 允许并行运行的实际实例数上限。 |
内存 | (类型:VALID_MEMORY_OPTIONS)[number] |表达式<数字>|重置值 | 要分配给函数的内存量。 |
minInstances | 数字 |表达式<数字>|重置值 | 在指定时间运行的最小实际实例数。 |
preserveExternalChanges | 布尔值 | 控制是否保留在函数源之外修改的函数配置。默认值为 false。 |
Secret | (字符串 | SecretParam)[] | |
serviceAccount | “默认”|字符串 |表达式<string>|重置值 | 运行函数时所用的特定服务账号。 |
timeoutSeconds | 数字 |表达式<数字>|重置值 | 函数的超时时长(以秒为单位),可能的值为 0 到 540。 |
vpcConnector | 字符串 |表达式<string>|重置值 | 将 Cloud Functions 函数连接到指定的 VPC 连接器。 |
vpcConnectoregressSettings | (类型 VPC_EGRESS_SETTINGS_OPTIONS)[number] |重置值 | VPC 连接器的出站流量设置。 |
RuntimeOptions.consumeAppCheckToken
确定是否根据请求使用 Firebase App Check 令牌。默认值为 false。
将此项设为 true 即可通过对可调用的请求使用 App Check 令牌,启用 App Check 重放攻击保护功能。如果发现令牌已被使用,则会将 request.app.alreadyConsumed
属性设置为 true。
仅当令牌发送到 App Check 服务时(将此选项设置为 true),令牌才会被视为已使用。使用其他令牌时不会消耗令牌。
此重放攻击防范功能需要对 App Check 后端进行额外的网络调用,并强制客户端从所选证明提供方获取新的证明。因此可能会对性能产生负面影响,并可能耗尽证明提供方的更快获得配额仅将此功能用于保护数量较少、对安全性要求至关重要或成本高昂的操作。
此选项不会影响 enforceAppCheck
选项。如果将后者设置为 true,则当请求包含无效的 App Check 令牌时,Callable 函数会自动返回 401 Unauthorized 状态代码。如果请求包含有效但已使用的 App Check 令牌,系统不会自动拒绝请求。相反,request.app.alreadyConsumed
属性设置为 true,并将执行传递给处理程序代码,以便做出进一步的决定,例如要求进行额外的安全检查或拒绝请求。
签名:
consumeAppCheckToken?: boolean;
RuntimeOptions.enforceAppCheck
确定是否强制执行 Firebase AppCheck。
如果为 true,包含无效令牌的请求会自动响应 401(未授权)错误。如果为 false,包含无效令牌的请求会将 context.app 设置为 undefiend。
签名:
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 Functions 函数连接到指定的 VPC 连接器。
签名:
vpcConnector?: string | Expression<string> | ResetValue;
RuntimeOptions.vpcConnectoregressSettings
VPC 连接器的出站流量设置。
签名:
vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;