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 서버 대기 시간입니다. 다음의 경우에는 존재하지 않습니다: 서버 또는 RunOnDisconnect 에 의해 시작된 Unlisten .

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 .

RealtimeDatabaseAuditMetadata.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 모두 사용되지 않으면 존재하지 않습니다.

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

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

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

value ( Value format)

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

key

string

대체 키입니다. $key 로 정렬하는 경우 해당 내용이 value 에 저장되기 때문에 이 필드는 생략됩니다.

exclusive

boolean

startAfter 또는 endBefore 사용된 경우 참입니다. 이 경우 쿼리 결과에는 끝점 값이 포함되지 않습니다.

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

경로를 포함한 전체 데이터베이스 URL: 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 헤더로 전송됩니다.