EventContext interface

Der Kontext, in dem ein Ereignis aufgetreten ist.

Ein EventContext beschreibt: – Die Zeit, zu der ein Ereignis aufgetreten ist. – Eine eindeutige Kennung des Ereignisses. – Die Ressource, auf der das Ereignis aufgetreten ist, falls zutreffend. - Autorisierung der Anfrage, die das Ereignis ausgelöst hat, sofern zutreffend und verfügbar.

Unterschrift:

export interface EventContext<Params = Record<string, string>> 

Eigenschaften

Eigentum Typ Beschreibung
Autor { token: object; uid: string; } Authentifizierungsinformationen für den Benutzer, der die Funktion ausgelöst hat.
Authentifizierungstyp „ADMIN“ | „BENUTZER“ | „UNAUTHENTIFIZIERT“ Die Berechtigungsstufe für einen Benutzer.
Ereignis-ID Zeichenfolge Der eindeutige Bezeichner des Ereignisses.
Ereignistyp Zeichenfolge Art der Veranstaltung.
Parameter Parameter Ein Objekt, das die Werte der Platzhalter im path enthält, der der Methode für einen Echtzeitdatenbank-Trigger bereitgestellt wird.
Ressource Ressource Die Ressource, die das Ereignis ausgegeben hat.
Zeitstempel Zeichenfolge Zeitstempel für das Ereignis als RFC 3339- String.

EventContext.auth

Authentifizierungsinformationen für den Benutzer, der die Funktion ausgelöst hat.

Dieses Objekt enthält uid und token Eigenschaften für authentifizierte Benutzer. Weitere Einzelheiten, einschließlich Token-Schlüssel, finden Sie in der Referenz zu den Sicherheitsregeln .

Dieses Feld wird nur für Echtzeitdatenbank-Trigger und aufrufbare Funktionen ausgefüllt. Für einen nicht authentifizierten Benutzer ist dieses Feld null. Für Firebase-Administratorbenutzer und Ereignistypen, die keine Benutzerinformationen bereitstellen, ist dieses Feld nicht vorhanden.

Unterschrift:

auth?: {
        token: object;
        uid: string;
    };

EventContext.authType

Die Berechtigungsstufe für einen Benutzer.

Gültige Werte sind:

  • ADMIN : Entwicklerbenutzer oder über ein Dienstkonto authentifizierter Benutzer.

  • USER : Bekannter Benutzer.

  • UNAUTHENTICATED : Nicht authentifizierte Aktion

  • null : Für Ereignistypen, die keine Benutzerinformationen bereitstellen (alle außer Echtzeitdatenbank).

Unterschrift:

authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";

EventContext.eventId

Der eindeutige Bezeichner des Ereignisses.

Unterschrift:

eventId: string;

EventContext.eventType

Art der Veranstaltung.

Mögliche Werte sind:

  • 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

Unterschrift:

eventType: string;

EventContext.params

Ein Objekt, das die Werte der Platzhalter im path enthält, der der Methode für einen Echtzeitdatenbank-Trigger bereitgestellt wird.

Unterschrift:

params: Params;

EventContext.resource

Die Ressource, die das Ereignis ausgegeben hat.

Gültige Werte sind:

Analytics: projects/<projectId>/events/<analyticsEventType>

Echtzeitdatenbank: projects/_/instances/<databaseInstance>/refs/<databasePath>

Speicher: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>

Authentifizierung: projects/<projectId>

Pub/Sub: projects/<projectId>/topics/<topicName>

Da Echtzeitdatenbankinstanzen und Cloud Storage-Buckets global eindeutig und nicht an das Projekt gebunden sind, beginnen ihre Ressourcen mit projects/_ . Unterstrich ist kein gültiger Projektname.

Unterschrift:

resource: Resource;

EventContext.timestamp

Zeitstempel für das Ereignis als RFC 3339- String.

Unterschrift:

timestamp: string;