RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData diekspos sebagai bagian dari pesan protoPayload.metadata baru.

Representasi 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
}
Bidang
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

Pertahankan perbedaan antara operasi waktu nyata dan operasi REST. Tidak seperti keluaran profiler RTDB, Log Akses Data Cloud Audit untuk RTDB menciutkan operasi realtime-* dan rest-* ke dalam metode Read , Write , dan Update .

protocol

enum ( RealtimeDatabaseAuditMetadata.Protocol )

Simpan protokol apa yang digunakan.

restMetadata

object ( RealtimeDatabaseAuditMetadata.RestMetadata )

Detail hanya relevan untuk permintaan REST.

precondition

object ( RealtimeDatabaseAuditMetadata.Precondition )

Prasyarat opsional untuk Update . Tidak ada untuk metode lain.

executeDuration

Duration

Waktu eksekusi bisnis server RTDB. Tidak hadir untuk: Connect , Disconnect , atau Unlisten .

pendingDuration

Duration

Waktu antrian server RTDB sebelum eksekusi dimulai. Tidak ada untuk: Unlisten yang dimulai oleh server atau RunOnDisconnect .

path

string

Jalur data yang diakses. Tidak ada untuk: Connect , Disconnect , atau RunOnDisconnect .

Bidang gabungan operation_metadata . Detail selengkapnya tentang Listen , Read , atau Update . operation_metadata hanya dapat berupa salah satu dari berikut ini:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

Informasi metadata untuk Listen atau Read .

writeMetadata

object ( RealtimeDatabaseAuditMetadata.WriteMetadata )

Informasi metadata untuk Update .

estimatedPayloadSizeBytes

int64

Perkiraan ukuran respons operasi yang diaudit dalam byte. Jangan gunakan untuk tujuan penagihan. Tidak ada untuk: Connect , Disconnect , Unlisten , atau OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata menyertakan detail tambahan tentang kueri yang dikirim untuk Listen s atau Read s.

Representasi 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
}
Bidang
orderBy

string

Bagaimana cara kueri diurutkan? Nilai yang mungkin: $key , $priority , $value , <path> .

direction

enum ( RealtimeDatabaseAuditMetadata.QueryMetadata.Direction )

Jika limitToLast digunakan, ASCENDING . Jika limitToFirst digunakan, DESCENDING . Jika tidak ada yang digunakan, tetapi startAt atau startAfter digunakan, DESCENDING . Dalam semua kasus lainnya, ASCENDING .

startAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Titik awal kueri.

endAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Titik akhir kueri.

equalTo

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

Jika ditentukan, hasil kueri hanya menyertakan turunan yang cocok dengan nilai yang ditentukan.

unindexed

boolean

Jika benar, RTDB tidak menggunakan indeks sisi server untuk menyajikan data untuk kueri. Ini berarti RTDB mungkin mengirimkan lebih banyak data daripada yang dipilih kueri. Kalau tidak, jangan hadir.

limit

integer

Kueri dibatasi pada jumlah anak limit pertama atau terakhir. Tidak ada ketika limitToLast atau limitToFirst tidak digunakan.

RealtimeDatabaseAuditMetadata.QueryMetadata.Terikat

Bound adalah titik akhir kueri dengan kunci cadangan.

Representasi JSON
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
Bidang
value

value ( Value format)

Nilai dari instance database.

key

string

Kunci cadangan. Jika mengurutkan berdasarkan $key bidang ini dihilangkan karena isinya disimpan dalam value .

exclusive

boolean

Benar jika startAfter atau endBefore digunakan. Dalam hal ini, hasil kueri tidak akan berisi nilai titik akhir.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata menyertakan detail tambahan tentang Update s.

Representasi JSON
{
  "paths": {
    string: string,
    ...
  }
}
Bidang
paths

map (key: string, value: int64 )

Jalur diubah dalam pembaruan multijalur bersama dengan ukuran data yang ditulis di setiap jalur.

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata berisi detail yang relevan hanya untuk permintaan REST.

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

string

URL database lengkap, termasuk jalurnya: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json .

requestMethod

enum ( RealtimeDatabaseAuditMetadata.RestMetadata.Method )

Untuk permintaan REST, metode apa yang digunakan. Tidak ditentukan untuk permintaan non-REST atau jika metode tidak tersedia.

RealtimeDatabaseAuditMetadata.Prakondisi

Precondition menjelaskan prasyarat, jika ada, yang digunakan untuk Update . Update dengan prasyarat yang lebih umum dikenal di RTDB sebagai transaksi.

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

enum ( RealtimeDatabaseAuditMetadata.Precondition.PreconditionType )

Jenis prasyarat yang digunakan.

hash

string

Hash SHA1 dari data yang diharapkan klien berada di path . Untuk permintaan REST, nilai ini dikirim dalam header ETAG.