RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData được hiển thị trong các thông báo protoPayload.metadata mới.

Biểu diễn dưới dạng 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
}
Trường
requestType

enum (RealtimeDatabaseAuditMetadata.RequestType)

Duy trì sự khác biệt giữa hoạt động theo thời gian thực và hoạt động REST. Không giống như đầu ra của trình phân tích RTDB, Nhật ký truy cập dữ liệu kiểm tra trên đám mây dành cho RTDB thu gọn các hoạt động realtime-*rest-* thành các phương thức Read, WriteUpdate.

protocol

enum (RealtimeDatabaseAuditMetadata.Protocol)

Lưu trữ giao thức được sử dụng.

restMetadata

object (RealtimeDatabaseAuditMetadata.RestMetadata)

Thông tin chi tiết chỉ liên quan đến các yêu cầu Kiến trúc chuyển trạng thái đại diện (REST).

precondition

object (RealtimeDatabaseAuditMetadata.Precondition)

Điều kiện tiên quyết (không bắt buộc) cho Update. Không có trong bất kỳ phương thức nào khác.

executeDuration

Duration

Thời gian thực thi nghiệp vụ trên máy chủ RTDB. Không áp dụng cho Connect, Disconnect hoặc Unlisten.

pendingDuration

Duration

Thời gian vào hàng đợi của máy chủ RTDB trước khi quá trình thực thi bắt đầu. Không áp dụng cho: Unlisten do máy chủ hoặc RunOnDisconnect khởi tạo.

path

string

Đường dẫn dữ liệu mà người dùng đã truy cập. Không áp dụng cho Connect, Disconnect hoặc RunOnDisconnect.

Trường kết hợp operation_metadata. Thông tin khác về Listen, Read hoặc Update. operation_metadata chỉ có thể là một trong những trạng thái sau đây:
queryMetadata

object (RealtimeDatabaseAuditMetadata.QueryMetadata)

Thông tin siêu dữ liệu dành cho Listen hoặc Read.

writeMetadata

object (RealtimeDatabaseAuditMetadata.WriteMetadata)

Thông tin siêu dữ liệu cho Update.

estimatedPayloadSizeBytes

int64

Kích thước phản hồi ước tính của thao tác được kiểm tra tính bằng byte. Không sử dụng cho mục đích thanh toán. Không áp dụng cho Connect, Disconnect, Unlisten hoặc OnDisconnectCancel.

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata bao gồm thông tin chi tiết bổ sung về các truy vấn được gửi cho Listen hoặc Read.

Biểu diễn dưới dạng 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
}
Trường
orderBy

string

Truy vấn được sắp xếp như thế nào? Giá trị có thể là: $key, $priority, $value, <path>.

direction

enum (RealtimeDatabaseAuditMetadata.QueryMetadata.Direction)

Nếu bạn dùng limitToLast, hãy ASCENDING. Nếu bạn dùng limitToFirst, hãy DESCENDING. Nếu bạn không dùng cả mục nào nhưng lại dùng startAt hoặc startAfter, thì DESCENDING. Trong tất cả các trường hợp khác, ASCENDING.

startAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

Điểm bắt đầu truy vấn.

endAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

Điểm kết thúc truy vấn.

equalTo

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

Nếu được chỉ định, kết quả truy vấn chỉ bao gồm phần tử con khớp với giá trị được chỉ định.

unindexed

boolean

Nếu đúng, RTDB sẽ không sử dụng chỉ mục phía máy chủ để phân phối dữ liệu cho truy vấn. Điều này có nghĩa là RTDB có thể đang gửi nhiều dữ liệu hơn số lượng truy vấn mà bạn chọn. Nếu không thì sẽ không có.

limit

integer

Truy vấn giới hạn ở số phần tử con đầu tiên hoặc limit cuối cùng. Không xuất hiện khi cả limitToLastlimitToFirst đều không được sử dụng.

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Bound là một điểm cuối truy vấn có khoá dự phòng.

Biểu diễn dưới dạng JSON
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
Trường
value

value (Value format)

Một giá trị từ thực thể cơ sở dữ liệu.

key

string

Khoá dự phòng. Nếu sắp xếp theo $key, trường này sẽ bị bỏ qua vì nội dung của trường được lưu trữ trong value.

exclusive

boolean

Đúng nếu bạn dùng startAfter hoặc endBefore. Trong trường hợp này, kết quả truy vấn sẽ không chứa giá trị điểm cuối.

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata bao gồm thông tin chi tiết bổ sung về các Update.

Biểu diễn dưới dạng JSON
{
  "paths": {
    string: string,
    ...
  }
}
Trường
paths

map (key: string, value: int64)

Các đường dẫn được sửa đổi trong một bản cập nhật nhiều đường dẫn cùng với kích thước dữ liệu được ghi ở mỗi đường dẫn.

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata chỉ chứa thông tin chi tiết liên quan đến các yêu cầu Kiến trúc chuyển trạng thái đại diện (REST).

Biểu diễn dưới dạng JSON
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
Trường
requestUri

string

URL đầy đủ của cơ sở dữ liệu, bao gồm cả đường dẫn: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json.

requestMethod

enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)

Phương thức nào được sử dụng đối với các yêu cầu REST. Không được chỉ định đối với các yêu cầu không phải REST hoặc khi không có phương thức nào.

RealtimeDatabaseAuditMetadata.Precondition

Precondition mô tả điều kiện tiên quyết (nếu có) được dùng cho Update. Các Update có điều kiện tiên quyết thường được gọi là giao dịch trong RTDB.

Biểu diễn dưới dạng JSON
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
Trường
preconditionType

enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType)

Loại điều kiện tiên quyết được sử dụng.

hash

string

Hàm băm SHA1 của dữ liệu mà ứng dụng muốn có ở path. Đối với các yêu cầu REST, giá trị này được gửi trong tiêu đề ETAG.