Kontekst, w którym miało miejsce zdarzenie.
EventContext opisuje: - Czas wystąpienia zdarzenia. - Unikalny identyfikator zdarzenia. - Zasób, w którym miało miejsce zdarzenie, jeśli ma to zastosowanie. - Autoryzacja żądania, które wywołało zdarzenie, jeśli ma to zastosowanie i jest dostępne.
Podpis:
export interface EventContext<Params = Record<string, string>>
Nieruchomości
Nieruchomość | Typ | Opis |
---|---|---|
autoryzacja | {token: obiekt; uid: ciąg znaków; } | Informacje uwierzytelniające użytkownika, który uruchomił funkcję. |
Typ uwierzytelniania | „ADMIN” | "UŻYTKOWNIK" | „NIEUWIERZYTELNIONE” | Poziom uprawnień użytkownika. |
identyfikator zdarzenia | strunowy | Unikalny identyfikator zdarzenia. |
typ wydarzenia | strunowy | Rodzaj wydarzenia. |
parametry | Parametry | Obiekt zawierający wartości symboli wieloznacznych w parametrze path dostarczonym do metody wyzwalacza bazy danych czasu rzeczywistego. |
ratunek | Ratunek | Zasób, który wyemitował zdarzenie. |
znak czasu | strunowy | Sygnatura czasowa zdarzenia w postaci ciągu znaków RFC 3339 . |
EventContext.auth
Informacje uwierzytelniające użytkownika, który uruchomił funkcję.
Obiekt ten zawiera właściwości uid
i token
dla uwierzytelnionych użytkowników. Aby uzyskać więcej szczegółów, w tym klucze tokenów, zobacz dokumentację reguł bezpieczeństwa .
To pole jest wypełniane tylko w przypadku wyzwalaczy bazy danych czasu rzeczywistego i funkcji wywoływalnych. W przypadku nieuwierzytelnionego użytkownika to pole ma wartość null. W przypadku administratorów Firebase i typów zdarzeń, które nie dostarczają informacji o użytkowniku, to pole nie istnieje.
Podpis:
auth?: {
token: object;
uid: string;
};
EventContext.authType
Poziom uprawnień użytkownika.
Prawidłowe wartości to:
ADMIN
: użytkownik programista lub użytkownik uwierzytelniony za pośrednictwem konta usługi.USER
: Znany użytkownik.UNAUTHENTICATED
: Nieuwierzytelnione działanienull
: Dla typów zdarzeń, które nie udostępniają informacji o użytkowniku (wszystkie z wyjątkiem Bazy danych czasu rzeczywistego).
Podpis:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
Unikalny identyfikator zdarzenia.
Podpis:
eventId: string;
EventContext.eventType
Rodzaj wydarzenia.
Możliwe wartości to:
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
Podpis:
eventType: string;
EventContext.params
Obiekt zawierający wartości symboli wieloznacznych w parametrze path
dostarczonym do metody wyzwalacza bazy danych czasu rzeczywistego.
Podpis:
params: Params;
EventContext.resource
Zasób, który wyemitował zdarzenie.
Prawidłowe wartości to:
Analityka: projects/<projectId>/events/<analyticsEventType>
Baza danych czasu rzeczywistego: projects/_/instances/<databaseInstance>/refs/<databasePath>
Magazyn: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Uwierzytelnianie: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Ponieważ instancje Realtime Database i zasobniki Cloud Storage są globalnie unikalne i niezwiązane z projektem, ich zasoby zaczynają się od projects/_
. Podkreślenie nie jest prawidłową nazwą projektu.
Podpis:
resource: Resource;
EventContext.znacznik czasu
Sygnatura czasowa zdarzenia w postaci ciągu znaków RFC 3339 .
Podpis:
timestamp: string;