Kontekst, w którym wystąpiło zdarzenie.
Element EventContext opisuje: – czas wystąpienia zdarzenia. – unikalny identyfikator zdarzenia. – Zasób, w którym wystąpiło zdarzenie (jeśli dotyczy). – Autoryzacja żądania, które wywołało zdarzenie (w odpowiednich przypadkach i w odpowiednich przypadkach).
Podpis:
export interface EventContext<Params = Record<string, string>>
Właściwości
Właściwość | Typ | Opis |
---|---|---|
auth | { token: obiekt; uid: ciąg znaków; | Dane uwierzytelniające użytkownika, który aktywował funkcję. |
authType | „ADMINISTRACJA” | „UŻYTKOWNIK” | „UNAUTHENTICATED” | Poziom uprawnień użytkownika. |
eventId | ciąg znaków | Unikalny identyfikator zdarzenia. |
eventType. | ciąg znaków | Typ zdarzenia. |
parametry | Parametry | Obiekt zawierający wartości symboli wieloznacznych w parametrze path podanym w metodzie aktywatora Bazy danych czasu rzeczywistego. |
zasób | Zasób | Zasób, który wywołał zdarzenie. |
sygnatura czasowa | ciąg znaków | Sygnatura czasowa zdarzenia w formie ciągu RFC 3339. |
EventContext.auth
Dane uwierzytelniające użytkownika, który aktywował funkcję.
Ten obiekt zawiera właściwości uid
i token
dla uwierzytelnionych użytkowników. Więcej informacji, w tym klucze tokenów, znajdziesz w dokumentacji reguł zabezpieczeń.
To pole jest wypełniane tylko w przypadku aktywatorów Bazy danych czasu rzeczywistego i funkcji wywoływanych. W przypadku nieuwierzytelnionego użytkownika to pole ma wartość null. To pole nie istnieje w przypadku administratorów Firebase i typów zdarzeń, które nie dostarczają informacji o użytkownikach.
Podpis:
auth?: {
token: object;
uid: string;
};
EventContext.authType
Poziom uprawnień użytkownika.
Prawidłowe wartości to:
ADMIN
: deweloper lub użytkownik uwierzytelniony za pomocą konta usługi.USER
: znany użytkownik.UNAUTHENTICATED
: działanie nieuwierzytelnionenull
: dotyczy typów zdarzeń, które nie dostarczają informacji o użytkownikach (wszystkie typy zdarzeń z wyjątkiem Bazy danych czasu rzeczywistego).
Podpis:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
Unikalny identyfikator zdarzenia.
Podpis:
eventId: string;
EventContext.eventType
Typ zdarzenia.
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
podanym w metodzie aktywatora Bazy danych czasu rzeczywistego.
Podpis:
params: Params;
EventContext.resource
Zasób, który wywołał zdarzenie.
Prawidłowe wartości to:
Statystyki: projects/<projectId>/events/<analyticsEventType>
Baza danych czasu rzeczywistego: projects/_/instances/<databaseInstance>/refs/<databasePath>
Miejsce na dane: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Uwierzytelnianie: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Instancje Bazy danych czasu rzeczywistego i zasobniki Cloud Storage są globalnie unikalne i niepowiązane z projektem, dlatego ich zasoby zaczynają się od projects/_
. Podkreślenie nie jest prawidłową nazwą projektu.
Podpis:
resource: Resource;
EventContext.timestamp
Sygnatura czasowa zdarzenia w formie ciągu RFC 3339.
Podpis:
timestamp: string;