EventContext interface

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łanie

  • null : 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;