RealtimeDatabaseAuditMetadata

FirebaseRealtimeDatabaseAuditMetaData 将作为新的 protoPayload.metadata 消息的一部分公开。

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
}
字段
requestType

enum (RealtimeDatabaseAuditMetadata.RequestType)

区分实时操作和 REST 操作。与 RTDB 性能分析器输出不同,RTDB 的 Cloud Audit Data Access Logs 会将 realtime-*rest-* 操作收起为 ReadWriteUpdate 方法。

protocol

enum (RealtimeDatabaseAuditMetadata.Protocol)

存储所使用的协议。

restMetadata

object (RealtimeDatabaseAuditMetadata.RestMetadata)

仅与 REST 请求相关的详细信息。

precondition

object (RealtimeDatabaseAuditMetadata.Precondition)

Update 的可选前提条件。不适用于任何其他方法。

executeDuration

Duration

RTDB 服务器业务执行时间。不适用于:ConnectDisconnectUnlisten

pendingDuration

Duration

开始执行前的 RTDB 服务器排队时间。不适用于由服务器启动的 UnlistenRunOnDisconnect

path

string

被访问的数据路径。不适用于:ConnectDisconnectRunOnDisconnect

联合字段 operation_metadata。有关 ListenReadUpdate 的更多详细信息。operation_metadata 只能是下列其中一项:
queryMetadata

object (RealtimeDatabaseAuditMetadata.QueryMetadata)

ListenRead 的元数据信息。

writeMetadata

object (RealtimeDatabaseAuditMetadata.WriteMetadata)

Update 的元数据信息。

estimatedPayloadSizeBytes

int64

审核操作的估算响应大小(以字节为单位)。请勿用于结算。不适用于:ConnectDisconnectUnlistenOnDisconnectCancel

RealtimeDatabaseAuditMetadata.QueryMetadata

QueryMetadata 包含有关为 ListenRead 发送的查询的其他详细信息。

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
}
字段
orderBy

string

查询是如何排序的?可能的值:$key$priority$value<path>

direction

enum (RealtimeDatabaseAuditMetadata.QueryMetadata.Direction)

如果使用 limitToLast,则为 ASCENDING。如果使用 limitToFirst,则为 DESCENDING。如果两者都未使用,但使用了 startAtstartAfter,则 DESCENDING。在所有其他情况下,为 ASCENDING

startAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

查询的起点。

endAt

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

查询端点。

equalTo

object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)

如果已指定,查询结果将仅包含与指定值匹配的子项。

unindexed

boolean

如果为 true,则 RTDB 不使用服务器端索引为查询提供数据。这意味着,RTDB 发送的数据可能比查询选择的数据多。否则,不显示。

limit

integer

查询仅限于第一个或最后 limit 个子项。如果既未使用 limitToLast,也未使用 limitToFirst,则此属性不存在。

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Bound 是具有回退键的查询端点。

JSON 表示法
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
字段
value

value (Value format)

来自数据库实例的值。

key

string

后备键。如果按 $key 排序,则省略此字段,因为其内容存储在 value 中。

exclusive

boolean

如果使用了 startAfterendBefore,则为 true。在这种情况下,查询结果将不包含端点值。

RealtimeDatabaseAuditMetadata.WriteMetadata

WriteMetadata 包含有关 Update 的更多详细信息。

JSON 表示法
{
  "paths": {
    string: string,
    ...
  }
}
字段
paths

map (key: string, value: int64)

在多路径更新中修改的路径,以及在每个路径中写入的数据大小。

RealtimeDatabaseAuditMetadata.RestMetadata

RestMetadata 包含仅与 REST 请求相关的详细信息。

JSON 表示法
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
字段
requestUri

string

完整的数据库网址,包括路径:https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json

requestMethod

enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)

对于 REST 请求,使用了什么方法。对于非 REST 请求或方法不可用,则留空。

RealtimeDatabaseAuditMetadata.Precondition

Precondition 描述了用于 Update 的前提条件(如果有)。具有前提条件在 RTDB 中更常用的称为“事务”的 Update

JSON 表示法
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
字段
preconditionType

enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType)

使用的前提条件的类型。

hash

string

客户端预期位于 path 的数据的 SHA1 哈希值。对于 REST 请求,此值通过 ETAG 标头发送。