EventContext interface

Es el contexto en el que ocurrió un evento.

Un EventContext describe lo siguiente: La hora en que ocurrió un evento. - Un identificador único del evento. - Es el recurso en el que ocurrió el evento, si corresponde. - Autorización de la solicitud que activó el evento, si corresponde y está disponible

Firma:

export interface EventContext<Params = Record<string, string>> 

Propiedades

Propiedad Tipo Descripción
autenticación { token: object; uid: string; }. Información de autenticación del usuario que activó la función.
Tipo de autenticación “ADMINISTRADOR” | “USUARIO” | "NO AUTENTICADO" Indica el nivel de permisos de un usuario.
IDdelevento string Es el identificador único del evento.
eventType string Es el tipo de evento.
parámetros Parámetros Un objeto que contiene los valores de los comodines en el parámetro path proporcionado al método para un activador de Realtime Database.
resource Recurso El recurso que emitió el evento.
timestamp string Marca de tiempo del evento como una string RFC 3339.

EventContext.auth

Información de autenticación del usuario que activó la función.

Este objeto contiene las propiedades uid y token para los usuarios autenticados. Para obtener más detalles, incluidas las claves de token, consulta la referencia de las reglas de seguridad.

Este campo solo se propaga para los activadores de Realtime Database y las funciones que admiten llamadas. Para un usuario no autenticado, este campo es nulo. Para los usuarios administradores de Firebase y los tipos de eventos que no proporcionan información del usuario, este campo no existe.

Firma:

auth?: {
        token: object;
        uid: string;
    };

EventContext.authType

Indica el nivel de permisos de un usuario.

Estos son los valores válidos:

  • ADMIN: Usuario desarrollador o usuario autenticado a través de una cuenta de servicio.

  • USER: Usuario conocido.

  • UNAUTHENTICATED: Acción sin autenticar

  • null: Para los tipos de eventos que no proporcionan información del usuario (todos excepto Realtime Database).

Firma:

authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";

EventContext.eventId

Es el identificador único del evento.

Firma:

eventId: string;

EventContext.eventType

Es el tipo de evento.

Los valores posibles son:

  • 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

Firma:

eventType: string;

EventContext.params

Un objeto que contiene los valores de los comodines en el parámetro path proporcionado al método para un activador de Realtime Database.

Firma:

params: Params;

EventContext.resource

El recurso que emitió el evento.

Estos son los valores válidos:

Estadísticas: projects/<projectId>/events/<analyticsEventType>

Realtime Database: projects/_/instances/<databaseInstance>/refs/<databasePath>

Almacenamiento: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>

Autenticación: projects/<projectId>

Pub/Sub: projects/<projectId>/topics/<topicName>

Debido a que las instancias de Realtime Database y los buckets de Cloud Storage son únicos a nivel global y no están vinculados al proyecto, sus recursos comienzan con projects/_. El guion bajo no es un nombre de proyecto válido.

Firma:

resource: Resource;

EventContext.timestamp

Marca de tiempo del evento como una string RFC 3339.

Firma:

timestamp: string;