The 2nd gen API for Cloud Functions for Firebase. This SDK supports deep imports. For example, the namespace pubsub is available at firebase-functions/v2 or is directly importable from firebase-functions/v2/pubsub.
Functions
| Function | Description | 
|---|---|
| config() | Store and retrieve project configuration data such as third-party API keys or other settings. You can set configuration values using the Firebase CLI as described in https://firebase.google.com/docs/functions/config-env. | 
| onInit(callback) | Registers a callback that should be run when in a production environment before executing any functions code. Calling this function more than once leads to undefined behavior. | 
| setGlobalOptions(options) | Sets default options for all functions written using the 2nd gen SDK. | 
Classes
| Class | Description | 
|---|---|
| Change | The Cloud Functions interface for events that change state, such as Realtime Database or Cloud Firestore onWriteandonUpdateevents.For more information about the format used to constructChangeobjects, see  below. | 
Interfaces
| Interface | Description | 
|---|---|
| CloudEvent | (BETA) A CloudEventBaseis the base of a cross-platform format for encoding a serverless event. For more information, see https://github.com/cloudevents/spec. | 
| CloudFunction | (BETA) A handler for CloudEvents. | 
| EventHandlerOptions | Additional fields that can be set on any event-handling function. | 
| GlobalOptions | GlobalOptionsare options that can be set across an entire project. These options are common to HTTPS and event handling functions. | 
Namespaces
| Namespace | Description | 
|---|---|
| alerts | |
| database | |
| eventarc | |
| firestore | |
| https | |
| identity | |
| logger | |
| params | |
| pubsub | |
| remoteConfig | |
| scheduler | |
| storage | |
| tasks | |
| testLab | 
Variables
| Variable | Description | 
|---|---|
| app | 
Type Aliases
| Type Alias | Description | 
|---|---|
| IngressSetting | List of available options for IngressSettings. | 
| MemoryOption | List of available memory options supported by Cloud Functions. | 
| ParamsOf | A type that maps all parameter capture gropus into keys of a record. For example, ParamsOf<"users/{uid}"> is { uid: string } ParamsOf<"users/{uid}/logs/{log}"> is { uid: string; log: string } ParamsOf<"some/static/data"> is {}For flexibility reasons, ParamsOf | 
| SupportedRegion | List of all regions supported by Cloud Functions (2nd gen). | 
| VpcEgressSetting | List of available options for VpcConnectorEgressSettings. | 
config()
Using functions.config() is discouraged. See https://firebase.google.com/docs/functions/config-env.
Store and retrieve project configuration data such as third-party API keys or other settings. You can set configuration values using the Firebase CLI as described in https://firebase.google.com/docs/functions/config-env.
Signature:
export declare function config(): Record<string, any>;
Returns:
Record<string, any>
onInit()
Registers a callback that should be run when in a production environment before executing any functions code. Calling this function more than once leads to undefined behavior.
Signature:
export declare function onInit(callback: () => unknown): void;
Parameters
| Parameter | Type | Description | 
|---|---|---|
| callback | () => unknown | initialization callback to be run before any function executes. | 
Returns:
void
setGlobalOptions()
Sets default options for all functions written using the 2nd gen SDK.
Signature:
export declare function setGlobalOptions(options: GlobalOptions): void;
Parameters
| Parameter | Type | Description | 
|---|---|---|
| options | GlobalOptions | Options to set as default | 
Returns:
void
app
Signature:
app: {
    setEmulatedAdminApp: typeof setEmulatedAdminApp;
}
IngressSetting
List of available options for IngressSettings.
Signature:
export type IngressSetting = "ALLOW_ALL" | "ALLOW_INTERNAL_ONLY" | "ALLOW_INTERNAL_AND_GCLB";
MemoryOption
List of available memory options supported by Cloud Functions.
Signature:
export type MemoryOption = "128MiB" | "256MiB" | "512MiB" | "1GiB" | "2GiB" | "4GiB" | "8GiB" | "16GiB" | "32GiB";
ParamsOf
A type that maps all parameter capture gropus into keys of a record. For example, ParamsOf<"users/{uid}"> is { uid: string } ParamsOf<"users/{uid}/logs/{log}"> is { uid: string; log: string } ParamsOf<"some/static/data"> is {}
For flexibility reasons, ParamsOf
Signature:
export type ParamsOf<PathPattern extends string | Expression<string>> = PathPattern extends Expression<string> ? Record<string, string> : string extends PathPattern ? Record<string, string> : {
    [Key in Extract<Split<NullSafe<Exclude<PathPattern, Expression<string>>>, "/">[number]>]: string;
};
SupportedRegion
List of all regions supported by Cloud Functions (2nd gen).
Signature:
export type SupportedRegion = "asia-east1" | "asia-northeast1" | "asia-northeast2" | "europe-north1" | "europe-west1" | "europe-west4" | "us-central1" | "us-east1" | "us-east4" | "us-west1" | "asia-east2" | "asia-northeast3" | "asia-southeast1" | "asia-southeast2" | "asia-south1" | "australia-southeast1" | "europe-central2" | "europe-west2" | "europe-west3" | "europe-west6" | "northamerica-northeast1" | "southamerica-east1" | "us-west2" | "us-west3" | "us-west4";
VpcEgressSetting
List of available options for VpcConnectorEgressSettings.
Signature:
export type VpcEgressSetting = "PRIVATE_RANGES_ONLY" | "ALL_TRAFFIC";