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
}
Campos
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

Preservar la distinción entre operaciones en tiempo real y REST. A diferencia de la salida del generador de perfiles RTDB, los registros de acceso a datos de Cloud Audit para RTDB colapsan las operaciones 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 empresarial 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 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 , Read o Update . operation_metadata puede ser sólo uno de los siguientes:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

Información de metadatos para 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 para fines de facturación. No presente para: Connect , Disconnect , Unlisten o OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata incluye detalles adicionales sobre las consultas enviadas para 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 utiliza 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 coinciden con el valor especificado.

unindexed

boolean

Si es verdadero, RTDB no utiliza 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 presente cuando no se utiliza limitToLast ni limitToFirst .

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

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

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 clave alternativa. Si realiza el pedido por $key este campo se omite porque su contenido se almacena en value .

exclusive

boolean

Verdadero si se utilizaron startAfter o endBefore . En este caso, los resultados de la consulta no contendrán los valores de los puntos finales.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata incluye detalles adicionales sobre las Update .

Representación JSON
{
  "paths": {
    string: string,
    ...
  }
}
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)
}
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ó. No se especifica para solicitudes que no son REST o si un método no estaba disponible.

RealtimeDatabaseAuditMetadata.Condición previa

Precondition describe la condición previa, si la hay, que se utilizó para una Update . Update mensajes de correo electrónico con condiciones previas conocidas más comúnmente 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 utilizada.

hash

string

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