EventContext interface

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 autenticata

  • null : 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;