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 no qual o evento ocorreu, se aplicável. - Autorização da solicitação que desencadeou o evento, se aplicável e disponível.

Assinatura:

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

Propriedades

Propriedade Tipo Descrição
autenticação {token: objeto; uid: string; } Informações de autenticação do usuário que acionou a função.
tipo de autorização "ADMIN" | "USUÁRIO" | "NÃO AUTENTICADO" O nível de permissões de um usuário.
ID do evento 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/hora do evento como uma string RFC 3339 .

EventContext.auth

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

Este objeto contém propriedades 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 gatilhos e funções solicitáveis ​​do Realtime Database. 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, 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 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.recurso

O recurso que emitiu o evento.

Os valores válidos são:

Análise: projects/<projectId>/events/<analyticsEventType>

Banco de dados em tempo real: 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/hora do evento como uma string RFC 3339 .

Assinatura:

timestamp: string;