RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData предоставляется как часть новых сообщений protoPayload.metadata .

JSON-представление
{
  "requestType": enum (RealtimeDatabaseAuditMetadata.RequestType),
  "protocol": enum (RealtimeDatabaseAuditMetadata.Protocol),
  "restMetadata": {
    object (RealtimeDatabaseAuditMetadata.RestMetadata)
  },
  "precondition": {
    object (RealtimeDatabaseAuditMetadata.Precondition)
  },
  "executeDuration": Duration,
  "pendingDuration": Duration,
  "path": string,

  // Union field operation_metadata can be only one of the following:
  "queryMetadata": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata)
  },
  "writeMetadata": {
    object (RealtimeDatabaseAuditMetadata.WriteMetadata)
  }
  // End of list of possible types for union field operation_metadata.
  "estimatedPayloadSizeBytes": int64
}
Поля
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

Сохраняйте различие между операциями реального времени и REST. В отличие от выходных данных профилировщика RTDB, журналы доступа к данным облачного аудита для RTDB сжимают операции realtime-* и rest-* в методы Read , Write и Update .

protocol

enum ( RealtimeDatabaseAuditMetadata.Protocol )

Запомните, какой протокол использовался.

restMetadata

object ( RealtimeDatabaseAuditMetadata.RestMetadata )

Подробности относятся только к запросам REST.

precondition

object ( RealtimeDatabaseAuditMetadata.Precondition )

Необязательное предварительное условие для Update . Не присутствует для других методов.

executeDuration

Duration

Время выполнения бизнеса сервера RTDB. Не присутствует для: Connect , Disconnect или Unlisten .

pendingDuration

Duration

Время ожидания сервера RTDB в очереди перед началом выполнения. Не присутствует для: Unlisten , инициированная сервером или RunOnDisconnect .

path

string

Путь к данным, к которому был осуществлен доступ. Не присутствует для: Connect , Disconnect или RunOnDisconnect .

Поле объединения operation_metadata . Более подробная информация о Listen , Read или Update . operation_metadata может быть только одним из следующих:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

Информация метаданных для Listen или Read .

writeMetadata

object ( RealtimeDatabaseAuditMetadata.WriteMetadata )

Информация метаданных для Update .

estimatedPayloadSizeBytes

int64

Предполагаемый размер ответа проверяемой операции в байтах. Не используйте для выставления счетов. Не присутствует для: Connect , Disconnect , Unlisten или OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata включает дополнительные сведения о запросах, отправленных для Listen или Read .

JSON-представление
{
  "orderBy": string,
  "direction": enum (RealtimeDatabaseAuditMetadata.QueryMetadata.Direction),
  "startAt": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "endAt": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "equalTo": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "unindexed": boolean,
  "limit": integer
}
Поля
orderBy

string

Как упорядочивается запрос? Возможные значения: $key , $priority , $value , <path> .

direction

enum ( RealtimeDatabaseAuditMetadata.QueryMetadata.Direction )

Если используется limitToLast , ASCENDING . Если используется limitToFirst , DESCENDING . Если ни один из них не используется, но используется startAt или startAfter , DESCENDING . Во всех остальных случаях ASCENDING .

startAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Начальная точка запроса.

endAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Конечная точка запроса.

equalTo

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Если указано, результаты запроса включают только дочерние элементы, соответствующие указанному значению.

unindexed

boolean

Если это правда, RTDB не использует индекс на стороне сервера для предоставления данных для запроса. Это означает, что RTDB может отправлять больше данных, чем выбирает запрос. В противном случае не присутствует.

limit

integer

Запрос был ограничен либо первым, либо последним limit количеством дочерних элементов. Не присутствует, если не используется ни limitToLast , ни limitToFirst .

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Bound — это конечная точка запроса с резервным ключом.

JSON-представление
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
Поля
value

value ( Value format)

Значение из экземпляра базы данных.

key

string

Запасной ключ. При заказе по $key это поле опускается, поскольку вместо этого его содержимое сохраняется в value .

exclusive

boolean

Истинно, если использовались startAfter или endBefore . В этом случае результаты запроса не будут содержать значения конечной точки.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata включает дополнительные сведения об Update s.

JSON-представление
{
  "paths": {
    string: string,
    ...
  }
}
Поля
paths

map (key: string, value: int64 )

Пути, измененные при многопутевом обновлении, вместе с размером данных, записанных на каждом пути.

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata содержит сведения, относящиеся только к запросам REST.

JSON-представление
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
Поля
requestUri

string

Полный URL-адрес базы данных, включая путь: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json .

requestMethod

enum ( RealtimeDatabaseAuditMetadata.RestMetadata.Method )

Для запросов REST какой метод использовался. Оставлено неопределенным для запросов, отличных от REST, или если метод недоступен.

RealtimeDatabaseAuditMetadata.Precondition

Precondition описывает предварительное условие, если таковое имеется, которое использовалось для Update . Update предварительные условия, более известные в RTDB как транзакции.

JSON-представление
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
Поля
preconditionType

enum ( RealtimeDatabaseAuditMetadata.Precondition.PreconditionType )

Тип используемого предварительного условия.

hash

string

Хэш SHA1 данных, которые клиент ожидает найти по path . Для запросов REST это значение отправляется в заголовке ETAG.