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 감사 데이터 액세스 로그는 realtime-*rest-* 작업을 Read, Write, Update 메서드로 축소합니다.

protocol

enum (RealtimeDatabaseAuditMetadata.Protocol)

사용된 프로토콜을 저장합니다.

restMetadata

object (RealtimeDatabaseAuditMetadata.RestMetadata)

REST 요청과 관련된 세부정보입니다.

precondition

object (RealtimeDatabaseAuditMetadata.Precondition)

Update의 전제 조건(선택사항)입니다. 다른 메서드에는 없습니다.

executeDuration

Duration

RTDB 서버 비즈니스 실행 시간입니다. Connect, Disconnect 또는 Unlisten에는 포함되지 않습니다.

pendingDuration

Duration

실행이 시작되기 전의 RTDB 서버 큐 시간입니다. 서버에서 시작된 Unlisten 또는 RunOnDisconnect의 경우에는 제공되지 않습니다.

path

string

액세스된 데이터 경로입니다. Connect, Disconnect 또는 RunOnDisconnect에는 포함되지 않습니다.

통합 필드 operation_metadata. Listen, Read 또는 Update에 관한 세부정보 operation_metadata은 다음 중 하나여야 합니다.
queryMetadata

object (RealtimeDatabaseAuditMetadata.QueryMetadata)

Listen 또는 Read의 메타데이터 정보입니다.

writeMetadata

object (RealtimeDatabaseAuditMetadata.WriteMetadata)

Update의 메타데이터 정보입니다.

estimatedPayloadSizeBytes

int64

감사된 작업의 예상 응답 크기(바이트)입니다. 결제 목적으로 사용해서는 안 됩니다. Connect, Disconnect, Unlisten 또는 OnDisconnectCancel에는 제공되지 않습니다.

RealtimeDatabase감사Metadata.QueryMetadata

QueryMetadata에는 Listen 또는 Read에 대해 전송된 쿼리에 대한 추가 세부정보가 포함됩니다.

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입니다. 둘 다 사용하지 않지만 startAt 또는 startAfter만 사용하면 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개의 하위 요소로 제한되었습니다. limitToLastlimitToFirst가 모두 사용되지 않으면 표시되지 않습니다.

RealtimeDatabase감사Metadata.QueryMetadata.Bound

Bound는 대체 키가 있는 쿼리 엔드포인트입니다.

JSON 표현
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
필드
value

value (Value format)

데이터베이스 인스턴스의 값입니다.

key

string

대체 키입니다. $key를 기준으로 정렬하면 내용이 value에 저장되므로 이 필드가 생략됩니다.

exclusive

boolean

startAfter 또는 endBefore가 사용되었다면 true입니다. 이 경우 쿼리 결과에 엔드포인트 값이 포함되지 않습니다.

RealtimeDatabase감사Metadata.WriteMetadata

WriteMetadata에는 Update에 관한 추가 세부정보가 포함되어 있습니다.

JSON 표현
{
  "paths": {
    string: string,
    ...
  }
}
필드
paths

map (key: string, value: int64)

다중 경로에서 수정된 경로와 각 경로에 작성된 데이터 크기가 함께 업데이트됩니다.

RealtimeDatabase감사Metadata.RestMetadata

RestMetadata에는 REST 요청과 관련된 세부정보만 포함됩니다.

JSON 표현
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
필드
requestUri

string

https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json 경로를 포함한 전체 데이터베이스 URL입니다.

requestMethod

enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)

REST 요청의 경우 사용된 메서드입니다. 비REST 요청 또는 메서드를 사용할 수 없는 경우 지정되지 않은 상태로 둡니다.

RealtimeDatabase감사Metadata.Precondition

PreconditionUpdate에 사용된 전제조건(있는 경우)을 설명합니다. RTDB에서 트랜잭션으로 더 일반적으로 알려진 전제 조건이 있는 Update

JSON 표현
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
필드
preconditionType

enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType)

사용된 전제조건의 유형입니다.

hash

string

클라이언트가 path에 있을 것으로 예상되는 데이터의 SHA1 해시입니다. REST 요청의 경우 이 값은 ETAG 헤더로 전송됩니다.