The context in which an event occurred.
An EventContext describes: - The time an event occurred. - A unique identifier of the event. - The resource on which the event occurred, if applicable. - Authorization of the request that triggered the event, if applicable and available.
Signature:
export interface EventContext<Params = Record<string, string>>
Properties
Property | Type | Description |
---|---|---|
auth | { token: object; uid: string; } | Authentication information for the user that triggered the function. |
authType | "ADMIN" | "USER" | "UNAUTHENTICATED" | The level of permissions for a user. |
eventId | string | The event’s unique identifier. |
eventType | string | Type of event. |
params | Params | An object containing the values of the wildcards in the path parameter provided to the method for a Realtime Database trigger. |
resource | Resource | The resource that emitted the event. |
timestamp | string | Timestamp for the event as an RFC 3339 string. |
EventContext.auth
Authentication information for the user that triggered the function.
This object contains uid
and token
properties for authenticated users. For more detail including token keys, see the security rules reference.
This field is only populated for Realtime Database triggers and Callable functions. For an unauthenticated user, this field is null. For Firebase admin users and event types that do not provide user information, this field does not exist.
Signature:
auth?: {
token: object;
uid: string;
};
EventContext.authType
The level of permissions for a user.
Valid values are:
ADMIN
: Developer user or user authenticated via a service account.USER
: Known user.UNAUTHENTICATED
: Unauthenticated actionnull
: For event types that do not provide user information (all except Realtime Database).
Signature:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
The event’s unique identifier.
Signature:
eventId: string;
EventContext.eventType
Type of event.
Possible values are:
google.analytics.event.log
google.firebase.auth.user.create
google.firebase.auth.user.delete
google.firebase.database.ref.write
google.firebase.database.ref.create
google.firebase.database.ref.update
google.firebase.database.ref.delete
google.firestore.document.write
google.firestore.document.create
google.firestore.document.update
google.firestore.document.delete
google.pubsub.topic.publish
google.firebase.remoteconfig.update
google.storage.object.finalize
google.storage.object.archive
google.storage.object.delete
google.storage.object.metadataUpdate
google.testing.testMatrix.complete
Signature:
eventType: string;
EventContext.params
An object containing the values of the wildcards in the path
parameter provided to the method for a Realtime Database trigger.
Signature:
params: Params;
EventContext.resource
The resource that emitted the event.
Valid values are:
Analytics: projects/<projectId>/events/<analyticsEventType>
Realtime Database: projects/_/instances/<databaseInstance>/refs/<databasePath>
Storage: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Authentication: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Because Realtime Database instances and Cloud Storage buckets are globally unique and not tied to the project, their resources start with projects/_
. Underscore is not a valid project name.
Signature:
resource: Resource;
EventContext.timestamp
Timestamp for the event as an RFC 3339 string.
Signature:
timestamp: string;