Контекст, в котором произошло событие.
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;