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 autenticadanull
: 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;