RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData se expone como parte de los nuevos mensajes 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
}
Los campos
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

Preserve la distinción entre operaciones en tiempo real y REST. A diferencia de la salida del perfilador de RTDB, los registros de acceso a datos de auditoría en la nube para RTDB colapsan las operaciones en realtime-* y rest-* en métodos de Read , Write y Update .

protocol

enum ( RealtimeDatabaseAuditMetadata.Protocol )

Almacene qué protocolo se utilizó.

restMetadata

object ( RealtimeDatabaseAuditMetadata.RestMetadata )

Detalles relevantes solo para solicitudes REST.

precondition

object ( RealtimeDatabaseAuditMetadata.Precondition )

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

executeDuration

Duration

Tiempo de ejecución comercial del servidor RTDB. No presente para: Connect , Disconnect o Unlisten .

pendingDuration

Duration

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

path

string

La ruta de datos a la que se accedió. No presente para: Connect , Disconnect o RunOnDisconnect .

Campo de unión operation_metadata . Más detalles sobre Listen s, Read s o Update s. operation_metadata solo puede ser uno de los siguientes:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

Información de metadatos para un Listen o Read .

writeMetadata

object ( RealtimeDatabaseAuditMetadata.WriteMetadata )

Información de metadatos para una Update .

estimatedPayloadSizeBytes

int64

El tamaño de respuesta estimado de la operación auditada en bytes. No lo utilice con fines de facturación. No presente para: Connect , Disconnect , Unlisten o OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata incluye detalles adicionales sobre consultas enviadas para Listen s o Read s.

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
}
Los 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 usa 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 final de la consulta.

equalTo

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

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

unindexed

boolean

Si es verdadero, RTDB no está utilizando un índice del lado del servidor para proporcionar datos para la consulta. Esto significa que RTDB puede estar enviando más datos de los que selecciona la consulta. De lo contrario, no presente.

limit

integer

La consulta se limitó al primer o al último número limit de niños. No está presente cuando no se limitToLast ni limitToFirst .

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Un Bound es un punto final de consulta con una clave de reserva.

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

value ( Value format)

Un valor de la instancia de la base de datos.

key

string

La clave de reserva. Si ordena por $key este campo se omite porque su contenido se almacena en value .

exclusive

boolean

True si se startAfter o endBefore . En este caso, los resultados de la consulta no contendrán los valores de punto final.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata incluye detalles adicionales sobre las Update .

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

map (key: string, value: int64 )

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

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata contiene detalles relevantes solo para solicitudes REST.

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

string

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

requestMethod

enum ( RealtimeDatabaseAuditMetadata.RestMetadata.Method )

Para solicitudes REST, qué método se utilizó. Se dejó sin especificar para solicitudes que no son REST o si un método no estaba disponible.

RealtimeDatabaseAuditMetadata.Condición previa

La Precondition describe la condición previa, si la hay, que se usó para una Update . Update correos electrónicos con condiciones previas conocidas más comúnmente en RTDB como transacciones.

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

enum ( RealtimeDatabaseAuditMetadata.Precondition.PreconditionType )

El tipo de condición previa utilizada.

hash

string

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