firebase_functions.pubsub_fn module

Functions to handle events from Google Cloud Pub/Sub.

Classes

Message

class firebase_functions.pubsub_fn.Message(message_id: str, publish_time: str, attributes: dict[str, str], data: str, ordering_key: str)

Bases: Generic[T]

Interface representing a Google Cloud Pub/Sub message.

attributes: dict[str, str]

User-defined attributes published with the message, if any.

data: str

The data payload of this message object as a base64-encoded string.

property json: T | None
message_id: str

Autogenerated ID that uniquely identifies this message.

ordering_key: str

User-defined key used to ensure ordering amongst messages with the same key.

publish_time: str

Time the message was published.

MessagePublishedData

class firebase_functions.pubsub_fn.MessagePublishedData(message: Message[T], subscription: str)

Bases: Generic[T]

The interface published in a Pub/Sub publish subscription.

'T' Type representing Message.data's JSON format.

message: Message[T]

Google Cloud Pub/Sub message.

subscription: str

A subscription resource.

Functions

on_message_published

firebase_functions.pubsub_fn.on_message_published(**kwargs) Callable[[Callable[[CloudEvent[MessagePublishedData[T]]], None]], Callable[[CloudEvent[MessagePublishedData[T]]], None]]

Event handler that triggers on a message being published to a Pub/Sub topic.

Example:

@on_message_published(topic="hello-world")
def example(event: CloudEvent[MessagePublishedData[object]]) -> None:
    pass
Parameters:

**kwargs (as firebase_functions.options.PubSubOptions) -- Pub/Sub options.

Return type:

typing.Callable [ [ firebase_functions.core.CloudEvent [ firebase_functions.pubsub_fn.MessagePublishedData [ typing.Any ] ] ], None ] A function that takes a CloudEvent and returns None.