EventContext interface

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 nieuwierzytelnione

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