RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData se expone como parte de los nuevos mensajes de protoPayload.metadata.

Representación 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
}
Campos
requestType

enum (RealtimeDatabaseAuditMetadata.RequestType)

Conserva la distinción entre operaciones en tiempo real y de REST. A diferencia del resultado del generador de perfiles de RTDB, los registros de acceso a los datos de auditoría de Cloud para RTDB contraen las operaciones realtime-* y rest-* en los métodos Read, Write y Update.

protocol

enum (RealtimeDatabaseAuditMetadata.Protocol)

Almacena el protocolo que se usó.

restMetadata

object (RealtimeDatabaseAuditMetadata.RestMetadata)

Detalles relevantes solo para las solicitudes de REST.

precondition

object (RealtimeDatabaseAuditMetadata.Precondition)

Una condición previa opcional para un Update. No está presente para ningún otro método.

executeDuration

Duration

Tiempo de ejecución del negocio del servidor de RTDB. No está presente para Connect, Disconnect ni Unlisten.

pendingDuration

Duration

Tiempo de cola del servidor RTDB antes de que comience la ejecución. No está presente para Unlisten iniciado por el servidor o RunOnDisconnect.

path

string

La ruta de acceso a los datos a la que se accedió. No está presente para Connect, Disconnect ni RunOnDisconnect.

Campo de unión operation_metadata. Obtén más detalles sobre los elementos Listen, Read o Update. operation_metadata puede ser solo una de las siguientes opciones:
queryMetadata

object (RealtimeDatabaseAuditMetadata.QueryMetadata)

Información sobre los metadatos de un Listen o Read.

writeMetadata

object (RealtimeDatabaseAuditMetadata.WriteMetadata)

Información de metadatos de un Update.

estimatedPayloadSizeBytes

int64

El tamaño estimado de la respuesta de la operación auditada, expresada en bytes. No los uses con fines de facturación. No está presente para Connect, Disconnect, Unlisten ni OnDisconnectCancel.

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata incluye detalles adicionales sobre las consultas enviadas para los objetos Listen o Read.

Representación 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
}
Campos
orderBy

string

¿Cómo se ordena la consulta? Valores posibles: $key, $priority, $value, <path>.

direction

enum (RealtimeDatabaseAuditMetadata.QueryMetadata.Direction)

Si se usa limitToLast, ASCENDING. Si se usa limitToFirst, DESCENDING. Si no se usa ninguno, pero se usan startAt o startAfter, DESCENDING. En todos los demás casos, ASCENDING.

startAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

El punto de inicio de la consulta.

endAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

El punto de finalización de la consulta.

equalTo

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

Si se especifica, los resultados de la consulta solo incluirán elementos secundarios que coincidan con el valor especificado.

unindexed

boolean

Si es verdadero, RTDB no usa un índice del servidor para entregar datos en la consulta. Esto significa que es posible que RTDB envíe más datos de los que selecciona la consulta. De lo contrario, no está presente.

limit

integer

La consulta se limitó a la primera o la última cantidad de limit elementos secundarios. No está presente cuando no se usan limitToLast ni limitToFirst.

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Un Bound es un extremo de consulta con una clave de resguardo.

Representación JSON
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
Campos
value

value (Value format)

Un valor de la instancia de la base de datos.

key

string

La tecla de resguardo Si se ordena por $key, este campo se omite porque su contenido se almacena en value.

exclusive

boolean

Es verdadero si se usaron startAfter o endBefore. En este caso, los resultados de la consulta no contendrán los valores del extremo.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata incluye detalles adicionales sobre los Update.

Representación JSON
{
  "paths": {
    string: string,
    ...
  }
}
Campos
paths

map (key: string, value: int64)

Las rutas de acceso modificadas en una actualización de varias rutas junto con el tamaño de los datos escritos en cada ruta de acceso.

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata contiene detalles relevantes solo para las solicitudes de REST.

Representación JSON
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
Campos
requestUri

string

La URL completa de la base de datos, incluida la ruta de acceso: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json

requestMethod

enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)

Para las solicitudes de REST, indica el método que se usó. Se deja sin especificar para solicitudes que no sean REST o si un método no estaba disponible.

RealtimeDatabaseAuditMetadata.Precondition

Precondition describe la condición previa, si existe alguna, que se usó para un Update. Objetos Update con condiciones previas que se conocen con mayor frecuencia en RTDB como transacciones

Representación JSON
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
Campos
preconditionType

enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType)

El tipo de condición previa que se usó.

hash

string

Un hash SHA1 de los datos que el cliente espera tener en path Para las solicitudes REST, este valor se envía en un encabezado ETAG.