EventContext interface

Контекст, в котором произошло событие.

EventContext описывает: — Время, когда произошло событие. - Уникальный идентификатор события. — Ресурс, на котором произошло событие, если применимо. - Авторизация запроса, вызвавшего событие, если это применимо и доступно.

Подпись:

export interface EventContext<Params = Record<string, string>> 

Характеристики

Свойство Тип Описание
авторизация { токен: объект; идентификатор: строка; } Информация аутентификации пользователя, запустившего функцию.
тип аутентификации "АДМИН" | «ПОЛЬЗОВАТЕЛЬ» | "НЕ АУТЕНТИЗИРОВАННЫЙ" Уровень разрешений для пользователя.
идентификатор события нить Уникальный идентификатор события.
тип события нить Тип мероприятия.
параметры Параметры Объект, содержащий значения подстановочных знаков в параметре path , предоставленном методу для триггера базы данных реального времени.
ресурс Ресурс Ресурс, создавший событие.
временная метка нить Временная метка события в виде строки RFC 3339 .

EventContext.auth

Информация аутентификации пользователя, запустившего функцию.

Этот объект содержит свойства uid и token для аутентифицированных пользователей. Более подробную информацию, включая ключи токенов, см. в справочнике по правилам безопасности. .

Это поле заполняется только для триггеров базы данных реального времени и вызываемых функций. Для неаутентифицированного пользователя это поле имеет значение null. Для пользователей-администраторов Firebase и типов событий, которые не предоставляют информацию о пользователе, это поле не существует.

Подпись:

auth?: {
        token: object;
        uid: string;
    };

EventContext.authType

Уровень разрешений для пользователя.

Допустимые значения:

  • ADMIN : пользователь-разработчик или пользователь, прошедший проверку подлинности через учетную запись службы.

  • USER : Известный пользователь.

  • UNAUTHENTICATED : Несанкционированное действие

  • null : для типов событий, которые не предоставляют информацию о пользователе (все, кроме базы данных реального времени).

Подпись:

authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";

EventContext.eventId

Уникальный идентификатор события.

Подпись:

eventId: string;

EventContext.eventType

Тип мероприятия.

Возможные значения:

  • 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

Подпись:

eventType: string;

EventContext.params

Объект, содержащий значения подстановочных знаков в параметре path , предоставленном методу для триггера базы данных реального времени.

Подпись:

params: Params;

EventContext.ресурс

Ресурс, создавший событие.

Допустимые значения:

Аналитика: projects/<projectId>/events/<analyticsEventType>

База данных реального времени: projects/_/instances/<databaseInstance>/refs/<databasePath>

Хранилище: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>

Аутентификация: projects/<projectId>

Публикация/подписка: projects/<projectId>/topics/<topicName>

Поскольку экземпляры базы данных реального времени и сегменты облачного хранилища уникальны и не привязаны к проекту, их ресурсы начинаются с projects/_ . Подчеркивание не является допустимым именем проекта.

Подпись:

resource: Resource;

EventContext.timestamp

Временная метка события в виде строки RFC 3339 .

Подпись:

timestamp: string;