Il contesto in cui si è verificato un evento.
Un EventContext descrive: - L'ora in cui si è verificato un evento. - Un identificatore univoco dell'evento. - La risorsa su cui si è verificato l'evento, se applicabile. - Autorizzazione della richiesta che ha attivato l'evento, se applicabile e disponibile.
Firma:
export interface EventContext<Params = Record<string, string>>
Proprietà
Proprietà | Tipo | Descrizione |
---|---|---|
aut | { gettone: oggetto; uid: stringa; } | Informazioni di autenticazione per l'utente che ha attivato la funzione. |
authType | "AMMINISTRATORE" | "UTENTE" | "NON AUTENTICATO" | Il livello di autorizzazioni per un utente. |
eventoId | corda | L'identificatore univoco dell'evento. |
Tipo di evento | corda | Tipo di evento. |
parametri | Param | Un oggetto contenente i valori dei caratteri jolly nel parametro path fornito al metodo per un trigger di Realtime Database. |
risorsa | Risorsa | La risorsa che ha emesso l'evento. |
timestamp | corda | Timestamp per l'evento come stringa RFC 3339 . |
EventContext.auth
Informazioni di autenticazione per l'utente che ha attivato la funzione.
Questo oggetto contiene proprietà uid
e token
per gli utenti autenticati. Per maggiori dettagli, incluse le chiavi token, vedere il riferimento alle regole di sicurezza .
Questo campo viene popolato solo per i trigger Realtime Database e le funzioni Callable. Per un utente non autenticato, questo campo è nullo. Per gli utenti amministratori Firebase e i tipi di eventi che non forniscono informazioni sull'utente, questo campo non esiste.
Firma:
auth?: {
token: object;
uid: string;
};
EventContext.authType
Il livello di autorizzazioni per un utente.
I valori validi sono:
ADMIN
: utente sviluppatore o utente autenticato tramite un account di servizio.USER
: Utente conosciuto.UNAUTHENTICATED
: Azione non autenticatanull
: per i tipi di eventi che non forniscono informazioni sull'utente (tutti tranne Realtime Database).
Firma:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.IDevento
L'identificatore univoco dell'evento.
Firma:
eventId: string;
EventContext.eventType
Tipo di evento.
I valori possibili sono:
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 oggetto contenente i valori dei caratteri jolly nel parametro path
fornito al metodo per un trigger di Realtime Database.
Firma:
params: Params;
EventContext.resource
La risorsa che ha emesso l'evento.
I valori validi sono:
Analisi: projects/<projectId>/events/<analyticsEventType>
Database in tempo reale: projects/_/instances/<databaseInstance>/refs/<databasePath>
Archiviazione: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Autenticazione: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Poiché le istanze di Realtime Database e i bucket Cloud Storage sono univoci a livello globale e non sono legati al progetto, le relative risorse iniziano con projects/_
. Il carattere di sottolineatura non è un nome di progetto valido.
Firma:
resource: Resource;
EventContext.timestamp
Timestamp per l'evento come stringa RFC 3339 .
Firma:
timestamp: string;