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