在运行时适用的函数的配置选项。
签名:
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;