EventContext interface

El contexto en el que ocurrió un evento.

Un EventContext describe: - La hora en que ocurrió un evento. - Un identificador único del evento. - El recurso sobre el que ocurrió el evento, en su caso. - Autorización de la solicitud que desencadenó el evento, si corresponde y está disponible.

Firma:

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

Propiedades

Propiedad Tipo Descripción
autenticación { token: objeto; uido: cadena; } Información de autenticación para el usuario que activó la función.
Tipo de autenticación "ADMINISTRADOR" | "USUARIO" | "NO AUTENTICADO" El nivel de permisos para un usuario.
ID de evento cadena El identificador único del evento.
tipo de evento cadena Tipo de evento.
parámetros parámetros Objeto que contiene los valores de los comodines en el parámetro path proporcionado al método para un activador de Realtime Database.
recurso Recurso El recurso que emitió el evento.
marca de tiempo cadena Marca de tiempo del evento como una cadena RFC 3339 .

EventContext.auth

Información de autenticación para el usuario que activó la función.

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

Este campo solo se completa para activadores de bases de datos en tiempo real y funciones invocables. Para un usuario no autenticado, este campo es nulo. Para los usuarios administradores de Firebase y los tipos de eventos que no brindan información del usuario, este campo no existe.

Firma:

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

EventContext.authType

El nivel de permisos para un usuario.

Los valores válidos son:

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

  • USER : Usuario conocido.

  • UNAUTHENTICATED : Acción no autenticada

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

Firma:

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

EventContext.eventId

El identificador único del evento.

Firma:

eventId: string;

EventContext.eventType

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

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.recurso

El recurso que emitió el evento.

Los valores válidos son:

Análisis: projects/<projectId>/events/<analyticsEventType>

Base de datos en tiempo real: 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 depósitos de Cloud Storage son globalmente únicos y no están vinculados al proyecto, sus recursos comienzan con projects/_ . El guión bajo no es un nombre de proyecto válido.

Firma:

resource: Resource;

EventContext.marca de tiempo

Marca de tiempo del evento como una cadena RFC 3339 .

Firma:

timestamp: string;