EventContext interface

Le contexte dans lequel un événement s'est produit.

Un EventContext décrit : - L'heure à laquelle un événement s'est produit. - Un identifiant unique de l'événement. - La ressource sur laquelle l'événement s'est produit, le cas échéant. - Autorisation de la demande ayant déclenché l'événement, le cas échéant et disponible.

Signature:

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

Propriétés

Propriété Taper Description
authentification { jeton : objet ; uid : chaîne ; } Informations d'authentification pour l'utilisateur qui a déclenché la fonction.
Type d'authentification "ADMINISTRATEUR" | "UTILISATEUR" | "NON AUTHENTIFIÉ" Le niveau d'autorisations pour un utilisateur.
ID d'événement chaîne L'identifiant unique de l'événement.
type d'événement chaîne Type d'événement.
paramètres Paramètres Objet contenant les valeurs des caractères génériques dans le paramètre path fourni à la méthode pour un déclencheur de base de données en temps réel.
Ressource Ressource Ressource qui a émis l'événement.
horodatage chaîne Horodatage de l'événement sous forme de chaîne RFC 3339 .

EventContext.auth

Informations d'authentification pour l'utilisateur qui a déclenché la fonction.

Cet objet contient les propriétés uid et token pour les utilisateurs authentifiés. Pour plus de détails, y compris les clés de jeton, consultez la référence des règles de sécurité .

Ce champ est uniquement renseigné pour les déclencheurs de base de données en temps réel et les fonctions appelables. Pour un utilisateur non authentifié, ce champ est nul. Pour les utilisateurs administrateurs Firebase et les types d'événements qui ne fournissent pas d'informations utilisateur, ce champ n'existe pas.

Signature:

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

EventContext.authType

Le niveau d'autorisations pour un utilisateur.

Les valeurs valides sont :

  • ADMIN : Utilisateur développeur ou utilisateur authentifié via un compte de service.

  • USER : Utilisateur connu.

  • UNAUTHENTICATED : Action non authentifiée

  • null : Pour les types d'événements qui ne fournissent pas d'informations utilisateur (tous sauf la base de données en temps réel).

Signature:

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

EventContext.eventId

L'identifiant unique de l'événement.

Signature:

eventId: string;

EventContext.eventType

Type d'événement.

Les valeurs possibles sont :

  • 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

Signature:

eventType: string;

EventContext.params

Objet contenant les valeurs des caractères génériques dans le paramètre path fourni à la méthode pour un déclencheur de base de données en temps réel.

Signature:

params: Params;

EventContext.resource

Ressource qui a émis l'événement.

Les valeurs valides sont :

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

Base de données en temps réel : projects/_/instances/<databaseInstance>/refs/<databasePath>

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

Authentification : projects/<projectId>

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

Étant donné que les instances de base de données en temps réel et les buckets Cloud Storage sont uniques au monde et ne sont pas liés au projet, leurs ressources commencent par projects/_ . Le trait de soulignement n'est pas un nom de projet valide.

Signature:

resource: Resource;

EventContext.timestamp

Horodatage de l'événement sous forme de chaîne RFC 3339 .

Signature:

timestamp: string;