firebase_functions.firestore_fn module

Module for Cloud Functions that are triggered by Firestore.

Classes

AuthEvent

class firebase_functions.firestore_fn.AuthEvent(specversion: str, id: str, source: str, type: str, time: datetime.datetime, data: T, subject: str | None, location: str, project: str, database: str, namespace: str, document: str, params: dict[str, str], auth_type: Literal['service_account', 'api_key', 'system', 'unauthenticated', 'unknown'], auth_id: str | None)

Bases: Event[T]

auth_id: str | None

The unique identifier for the principal

auth_type: Literal['service_account', 'api_key', 'system', 'unauthenticated', 'unknown']

The type of principal that triggered the event

Event

class firebase_functions.firestore_fn.Event(specversion: str, id: str, source: str, type: str, time: datetime, data: T, subject: str | None, location: str, project: str, database: str, namespace: str, document: str, params: dict[str, str])

Bases: CloudEvent[T]

A CloudEvent that contains a DocumentSnapshot or a Change<DocumentSnapshot>.

database: str

The Firestore database.

document: str

The document path.

location: str

The location of the database.

namespace: str

The Firestore namespace.

params: dict[str, str]

An dict containing the values of the path patterns. Only named capture groups are populated - {key}, {key=*}, {key=**}

project: str

The project identifier.

Functions

on_document_created

firebase_functions.firestore_fn.on_document_created(**kwargs) Callable[[Callable[[Event[DocumentSnapshot | None]], None]], Callable[[Event[DocumentSnapshot | None]], None]]

Event handler that triggers when a document is created in Firestore.

Example:

@on_document_created(document="*")
def example(event: Event[DocumentSnapshot]):
  pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.Event [ object ] ], None ] A function that takes a Firestore event and returns None.

on_document_created_with_auth_context

firebase_functions.firestore_fn.on_document_created_with_auth_context(**kwargs) Callable[[Callable[[Event[DocumentSnapshot | None]], None]], Callable[[Event[DocumentSnapshot | None]], None]]

Event handler that triggers when a document is created in Firestore. This trigger will also provide the authentication context of the principal who triggered the event.

Example:

@on_document_created_with_auth_context(document="*")
def example(event: AuthEvent[DocumentSnapshot]):
  pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.AuthEvent [ object ] ], None ] A function that takes a Firestore event and returns None.

on_document_deleted

firebase_functions.firestore_fn.on_document_deleted(**kwargs) Callable[[Callable[[Event[DocumentSnapshot | None]], None]], Callable[[Event[DocumentSnapshot | None]], None]]

Event handler that triggers when a document is deleted in Firestore.

Example:

@on_document_deleted(document="*")
def example(event: Event[DocumentSnapshot]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.Event [ object ] ], None ] A function that takes a Firestore event and returns None.

on_document_deleted_with_auth_context

firebase_functions.firestore_fn.on_document_deleted_with_auth_context(**kwargs) Callable[[Callable[[Event[DocumentSnapshot | None]], None]], Callable[[Event[DocumentSnapshot | None]], None]]

Event handler that triggers when a document is deleted in Firestore. This trigger will also provide the authentication context of the principal who triggered the event.

Example:

@on_document_deleted_with_auth_context(document="*")
def example(event: AuthEvent[DocumentSnapshot]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.AuthEvent [ object ] ], None ] A function that takes a Firestore event and returns None.

on_document_updated

firebase_functions.firestore_fn.on_document_updated(**kwargs) Callable[[Callable[[Event[Change[DocumentSnapshot | None]]], None]], Callable[[Event[Change[DocumentSnapshot | None]]], None]]

Event handler that triggers when a document is updated in Firestore.

Example:

@on_document_updated(document="*")
def example(event: Event[Change[DocumentSnapshot]]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.Event [ firebase_functions.db.Change ] ], None ] A function that takes a Firestore event and returns None.

on_document_updated_with_auth_context

firebase_functions.firestore_fn.on_document_updated_with_auth_context(**kwargs) Callable[[Callable[[Event[Change[DocumentSnapshot | None]]], None]], Callable[[Event[Change[DocumentSnapshot | None]]], None]]

Event handler that triggers when a document is updated in Firestore. This trigger will also provide the authentication context of the principal who triggered the event.

Example:

@on_document_updated_with_auth_context(document="*")
def example(event: AuthEvent[Change[DocumentSnapshot]]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.AuthEvent [ firebase_functions.db.Change ] ], None ] A function that takes a Firestore event and returns None.

on_document_written

firebase_functions.firestore_fn.on_document_written(**kwargs) Callable[[Callable[[Event[Change[DocumentSnapshot | None]]], None]], Callable[[Event[Change[DocumentSnapshot | None]]], None]]

Event handler that triggers when a document is created, updated, or deleted in Firestore.

Example:

@on_document_written(document="*")
def example(event: Event[Change[DocumentSnapshot]]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.Event [ firebase_functions.db.Change ] ], None ] A function that takes a Firestore event and returns None.

on_document_written_with_auth_context

firebase_functions.firestore_fn.on_document_written_with_auth_context(**kwargs) Callable[[Callable[[Event[Change[DocumentSnapshot | None]]], None]], Callable[[Event[Change[DocumentSnapshot | None]]], None]]

Event handler that triggers when a document is created, updated, or deleted in Firestore. This trigger will also provide the authentication context of the principal who triggered the event.

Example:

@on_document_written_with_auth_context(document="*")
def example(event: AuthEvent[Change[DocumentSnapshot]]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.FirestoreOptions) -- Firestore options.

Return type:

typing.Callable [ [ firebase_functions.firestore_fn.AuthEvent [ firebase_functions.db.Change ] ], None ] A function that takes a Firestore event and returns None.