EventContext interface

O contexto em que um evento ocorreu.

Um EventContext descreve: - A hora em que um evento ocorreu. - Um identificador exclusivo do evento. - O recurso em que o evento ocorreu, se aplicável. - Autorização da solicitação que acionou o evento, se aplicável e disponível.

Assinatura:

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

Propriedades

Propriedade Modelo Descrição
autenticação { token: objeto; uid: cadeia; } Informações de autenticação para o usuário que acionou a função.
authType "ADMIN" | "USUÁRIO" | "NÃO AUTENTICADO" O nível de permissões para um usuário.
eventId corda O identificador exclusivo do evento.
tipo de evento corda Tipo de evento.
parâmetros Parâmetros Um objeto que contém os valores dos curingas no parâmetro path fornecido ao método para um acionador do Realtime Database.
recurso Recurso O recurso que emitiu o evento.
carimbo de data/hora corda Carimbo de data e hora para o evento como uma string RFC 3339 .

EventContext.auth

Informações de autenticação para o usuário que acionou a função.

Este objeto contém propriedades de uid e token para usuários autenticados. Para obter mais detalhes, incluindo chaves de token, consulte a referência de regras de segurança .

Este campo é preenchido apenas para acionadores do Realtime Database e funções que podem ser chamadas. Para um usuário não autenticado, este campo é nulo. Para usuários administradores do Firebase e tipos de eventos que não fornecem informações do usuário, este campo não existe.

Assinatura:

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

EventContext.authType

O nível de permissões para um usuário.

Os valores válidos são:

  • ADMIN : usuário desenvolvedor ou usuário autenticado por meio de uma conta de serviço.

  • USER : usuário conhecido.

  • UNAUTHENTICATED : ação não autenticada

  • null : para tipos de eventos que não fornecem informações do usuário (todos, exceto Realtime Database).

Assinatura:

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

EventContext.eventId

O identificador exclusivo do evento.

Assinatura:

eventId: string;

EventContext.eventType

Tipo de evento.

Os valores possíveis são:

  • 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

Assinatura:

eventType: string;

EventContext.params

Um objeto que contém os valores dos curingas no parâmetro path fornecido ao método para um acionador do Realtime Database.

Assinatura:

params: Params;

EventContext.resource

O recurso que emitiu o evento.

Os valores válidos são:

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

Realtime Database: projects/_/instances/<databaseInstance>/refs/<databasePath>

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

Autenticação: projects/<projectId>

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

Como as instâncias do Realtime Database e os buckets do Cloud Storage são globalmente exclusivos e não vinculados ao projeto, seus recursos começam com projects/_ . O sublinhado não é um nome de projeto válido.

Assinatura:

resource: Resource;

EventContext.timestamp

Carimbo de data e hora para o evento como uma string RFC 3339 .

Assinatura:

timestamp: string;