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éenull
: 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;