実行時に適用される関数の構成オプション。
署名:
export interface RuntimeOptions
プロパティ
プロパティ | 型 | 説明 |
---|---|---|
consumeAppCheckToken | ブール値 | リクエスト時に Firebase App Check トークンを使用するかどうかを決定します。デフォルトは false です。 |
enforceAppCheck | ブール値 | Firebase AppCheck を適用するかどうかを決定します。 |
failurePolicy | FailurePolicy |ブール値 | 関数の失敗ポリシー。ブール値 true は空の再試行オブジェクトを指定するのと同等です。 |
ingressSettings | (INGRESS_SETTINGS_OPTIONS のタイプ)[number] |値をリセット | この関数をどこから呼び出せるかを制御する上り(内向き)設定。 |
起動元 | 「public」|「非公開」|文字列 |文字列 [] | HTTPS 関数のアクセス制御を設定する起動元。 |
labels | レコード<文字列, 文字列> | 関数に設定するユーザーラベル。 |
maxInstances | 数値 |式<number>|値をリセット | 並行して実行できる実際のインスタンスの最大数。 |
メモリ | (VALID_MEMORY_OPTIONS の型)[数値] |式<number>|値をリセット | 関数に割り当てるメモリの量。 |
minInstances | 数値 |式<number>|値をリセット | 特定の時間に実行される実際のインスタンスの最小数。 |
preserveExternalChanges | ブール値 | 関数のソースの外部で変更された関数の設定を保持するかどうかを制御します。デフォルトは false です。 |
シークレット | (文字列 | SecretParam)[] | |
serviceAccount | 「デフォルト」|文字列 |式<string>|値をリセット | 関数を実行する特定のサービス アカウント。 |
timeoutSeconds | 数値 |式<number>|値をリセット | 関数のタイムアウト(秒)。有効な値は 0 ~ 540 です。 |
vpcConnector | 文字列 |式<string>|値をリセット | 指定された VPC コネクタに Cloud Functions の関数を接続します。 |
vpcConnectorEgressSettings | (VPC_EGRESS_SETTINGS_OPTIONS のタイプ)[number] |値をリセット | VPC コネクタの下り(外向き)設定。 |
RuntimeOptions.consumeAppCheckToken
リクエスト時に Firebase App Check トークンを使用するかどうかを決定します。デフォルトは false です。
これを true に設定すると、呼び出し可能なリクエストで App Check トークンが使用され、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 が 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
特定の時間に実行される実際のインスタンスの最小数。
インスタンスは、アイドル状態のときにメモリ割り当てと CPU 割り当ての 10% に対して課金されます。
署名:
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 コネクタに Cloud Functions の関数を接続します。
署名:
vpcConnector?: string | Expression<string> | ResetValue;
RuntimeOptions.vpcConnectorEgressSettings
VPC コネクタの下り(外向き)設定。
署名:
vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;