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