RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData viene esposto come parte dei nuovi messaggi protoPayload.metadata .

Rappresentazione 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
}
Campi
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

Conservare la distinzione tra operazioni in tempo reale e REST. A differenza dell'output del profiler RTDB, i log di accesso ai dati di Cloud Audit per RTDB comprimono le operazioni realtime-* e rest-* nei metodi di Read , Write e Update .

protocol

enum ( RealtimeDatabaseAuditMetadata.Protocol )

Memorizza il protocollo utilizzato.

restMetadata

object ( RealtimeDatabaseAuditMetadata.RestMetadata )

Dettagli rilevanti solo per le richieste REST.

precondition

object ( RealtimeDatabaseAuditMetadata.Precondition )

Una precondizione facoltativa per un Update . Non presente per altri metodi.

executeDuration

Duration

Tempo di esecuzione aziendale del server RTDB. Non presente per: Connect , Disconnect o Unlisten .

pendingDuration

Duration

Tempo di accodamento del server RTDB prima dell'inizio dell'esecuzione. Non presente per: Unlisten avviato dal server o RunOnDisconnect .

path

string

Il percorso dati a cui è stato effettuato l'accesso. Non presente per: Connect , Disconnect o RunOnDisconnect .

Campo di unione operation_metadata . Maggiori dettagli su Listen , Read o Update . operation_metadata può essere solo uno dei seguenti:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

Informazioni sui metadati per un Listen o Read .

writeMetadata

object ( RealtimeDatabaseAuditMetadata.WriteMetadata )

Informazioni sui metadati per un Update .

estimatedPayloadSizeBytes

int64

La dimensione stimata della risposta dell'operazione controllata in byte. Non utilizzare per scopi di fatturazione. Non presente per: Connect , Disconnect , Unlisten o OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata include dettagli aggiuntivi sulle query inviate per Listen o Read .

Rappresentazione 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
}
Campi
orderBy

string

Come è ordinata la query? Valori possibili: $key , $priority , $value , <path> .

direction

enum ( RealtimeDatabaseAuditMetadata.QueryMetadata.Direction )

Se viene utilizzato limitToLast , ASCENDING . Se viene utilizzato limitToFirst , DESCENDING . Se non viene utilizzato nessuno dei due, ma viene utilizzato startAt o startAfter , DESCENDING . In tutti gli altri casi, ASCENDING .

startAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Il punto di inizio della query.

endAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Il punto finale della query.

equalTo

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Se specificato, i risultati della query includono solo gli elementi secondari che corrispondono al valore specificato.

unindexed

boolean

Se vero, RTDB non utilizza un indice lato server per fornire dati per la query. Ciò significa che RTDB potrebbe inviare più dati di quelli selezionati dalla query. Altrimenti non presente.

limit

integer

La query era limitata al primo o all'ultimo numero limit di figli. Non presente quando non viene utilizzato né limitToLastlimitToFirst .

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Un Bound è un endpoint di query con una chiave di fallback.

Rappresentazione JSON
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
Campi
value

value ( Value format)

Un valore dall'istanza del database.

key

string

La chiave di riserva. Se si ordina per $key questo campo viene omesso perché il suo contenuto viene invece memorizzato in value .

exclusive

boolean

Vero se sono stati utilizzati startAfter o endBefore . In questo caso, i risultati della query non conterranno i valori dell'endpoint.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata include dettagli aggiuntivi sugli Update s.

Rappresentazione JSON
{
  "paths": {
    string: string,
    ...
  }
}
Campi
paths

map (key: string, value: int64 )

I percorsi modificati in un aggiornamento a più percorsi insieme alla dimensione dei dati scritti su ciascun percorso.

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata contiene dettagli rilevanti solo per le richieste REST.

Rappresentazione JSON
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
Campi
requestUri

string

L'URL completo del database, incluso il percorso: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json .

requestMethod

enum ( RealtimeDatabaseAuditMetadata.RestMetadata.Method )

Per le richieste REST, quale metodo è stato utilizzato. Lasciato non specificato per richieste non REST o se un metodo non era disponibile.

RealtimeDatabaseAuditMetadata.Precondizione

Precondition descrive la precondizione, se presente, utilizzata per un Update . Update i messaggi con precondizioni note più comunemente in RTDB come transazioni.

Rappresentazione JSON
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
Campi
preconditionType

enum ( RealtimeDatabaseAuditMetadata.Precondition.PreconditionType )

Il tipo di precondizione utilizzata.

hash

string

Un hash SHA1 dei dati che il client prevede si trovi nel path . Per le richieste REST, questo valore viene inviato in un'intestazione ETAG.