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. - A 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 Tipo Descrição
autenticação { token: object; uid: string; } Informações de autenticação para o usuário que acionou a função.
authType (em inglês). "ADMINISTRADOR" | "USER" | "NÃO AUTENTICADO" O nível de permissões de um usuário.
eventId. string O identificador exclusivo do evento.
eventType string Tipo de evento.
parâmetros Parâmetros Um objeto que contém os valores dos caracteres curinga no parâmetro path fornecido ao método de um acionador do Realtime Database.
resource Recurso O recurso que emitiu o evento.
timestamp string Carimbo de data/hora do evento como uma string RFC 3339.

EventContext.auth

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

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

Esse campo só é preenchido para gatilhos do Realtime Database e funções chamáveis. Para um usuário não autenticado, esse campo é nulo. Para usuários administradores do Firebase e tipos de evento que não fornecem informações do usuário, esse campo não existe.

Assinatura:

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

EventContext.authType

O nível de permissões de 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 o 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 caracteres curinga no parâmetro path fornecido ao método de um acionador do Realtime Database.

Assinatura:

params: Params;

EventContext.resource

O recurso que emitiu o evento.

Os valores válidos são:

Análises: 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, os recursos começam com projects/_. O sublinhado não é um nome de projeto válido.

Assinatura:

resource: Resource;

EventContext.timestamp

Carimbo de data/hora do evento como uma string RFC 3339.

Assinatura:

timestamp: string;