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