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 autenticadanull
: 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;