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 en el que se produjo 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 Escribe 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 AUTENTIFICADO" El nivel de permisos para un usuario.
ID de evento cuerda El identificador único del evento.
tipo de evento cuerda Tipo de evento.
parámetros Parámetros Un objeto que contiene los valores de los comodines en el parámetro de path proporcionado al método para un disparador de Realtime Database.
recurso Recurso El recurso que emitió el evento.
marca de tiempo cuerda Marca de tiempo para el 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 de token y uid para usuarios autenticados. Para obtener más detalles, incluidas las claves de token, consulte la referencia de reglas de seguridad .

Este campo solo se completa para activadores de Realtime Database 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 de 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

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

Firma:

params: Params;

EventContext.resource

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 únicos a nivel mundial 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.timestamp

Marca de tiempo para el evento como una cadena RFC 3339 .

Firma:

timestamp: string;