Storage Insights 데이터 세트는 Cloud Storage 버킷, 객체, 프로젝트 전반에서 운영 패턴을 분석하고 리소스 사용량을 모니터링할 수 있는 BigQuery 테이블과 뷰를 제공합니다. 이러한 스키마를 사용하여 스토리지 사용량을 감사하고, 보안 설정을 확인하고, 스토리지 환경 전반의 활동을 추적하는 쿼리를 작성할 수 있습니다.
메타데이터의 데이터 세트 스키마
다음 섹션에서는 데이터 세트에 포함된 메타데이터 필드를 설명합니다. BigQuery 열 모드에 관한 자세한 내용은 모드를 참조하세요. 열 모드는 BigQuery가 데이터를 저장하고 쿼리하는 방식을 결정합니다.
스토리지 일괄 작업을 Storage Insights 데이터 세트와 연결하여 데이터를 동적으로 선택할 수 있습니다. 이 접근 방식을 사용하면 수동 매니페스트 파일을 사용하는 대신 필터 표현식을 사용하여 데이터 세트 열을 직접 쿼리할 수 있습니다. 다음 표의 Storage batch operations filterable 열은 Google Cloud CLI에서 직접 Common Expression Language (CEL) 필터 인수(--bucket-filters 또는 --object-filters)를 구성할 때 메타데이터 필드가 지원되는지 여부를 나타냅니다. 필드가 지원되는 경우 필터 표현식에서 열 이름을 직접 참조할 수 있습니다. 지원되는 구문에 대한 자세한 내용은 CEL 필터 참조를 확인하세요.
버킷 메타데이터
버킷 메타데이터 스키마에는 bucket_attributes_view 및 bucket_attributes_latest_snapshot_view 테이블이 포함됩니다. 버킷 메타데이터 테이블에는 다음 필드가 있습니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 | 스토리지 일괄 작업 필터링 가능 |
|---|---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
snapshotTime 필드는 버킷 메타데이터 스냅샷 새로고침 시간을 RFC 3339 형식으로 저장합니다. 동일한 스냅샷 새로고침에서 생성된 모든 레코드에는 동일한 snapshotTime가 있습니다. |
|
name |
NULLABLE |
STRING |
버킷의 이름입니다. | |
location |
NULLABLE |
STRING |
버킷의 위치입니다. 버킷에 있는 객체의 객체 데이터는 이 위치 내의 물리적 스토리지에 상주합니다. | |
project |
NULLABLE |
INTEGER |
버킷이 속한 프로젝트의 프로젝트 번호입니다. | |
storageClass |
NULLABLE |
STRING |
버킷의 기본 스토리지 클래스입니다. | |
public |
NULLABLE |
RECORD |
지원 중단되었습니다. 이 필드는 버킷에 공개적으로 액세스할 수 있는지 여부를 나타냅니다. 대신 iamConfiguration를 사용하세요. |
|
public.bucketPolicyOnly |
NULLABLE |
BOOLEAN |
지원 중단되었습니다. 이 필드(public 레코드의 일부)는 객체 수준 ACL을 통한 액세스를 방지하는 균일한 버킷 수준 액세스가 사용 설정되었는지 여부를 나타냅니다. |
|
public.publicAccessPrevention |
NULLABLE |
STRING |
지원 중단되었습니다. 이 필드(public 레코드의 일부)는 버킷에 대한 공개 액세스가 차단되었는지 여부를 나타냅니다. |
|
autoclass |
NULLABLE |
RECORD |
버킷의 자동 클래스 구성: 사용 설정된 경우 객체의 액세스 방식과 시점을 기반으로 객체의 스토리지 클래스를 제어합니다. | |
autoclass.enabled |
NULLABLE |
BOOLEAN |
자동 클래스 사용 설정 여부입니다. | |
autoclass.toggleTime |
NULLABLE |
TIMESTAMP |
이 버킷에 대해 자동 클래스가 마지막으로 사용 설정 또는 중지된 시간입니다(RFC 3339 형식). | |
versioning |
NULLABLE |
BOOLEAN |
버킷에 버전 관리가 사용 설정되어 있는지 여부입니다. 자세한 내용은 객체 버전 관리를 참조하세요. | |
lifecycle |
NULLABLE |
BOOLEAN |
버킷에 수명 주기 구성이 있는지 여부입니다. 자세한 내용은 수명 주기 관리를 참조하세요. | |
metageneration |
NULLABLE |
INTEGER |
이 버킷의 메타데이터 생성입니다. | |
timeCreated |
NULLABLE |
TIMESTAMP |
버킷 생성 시간입니다(RFC 3339 형식). | |
tags |
NULLABLE |
RECORD |
지원 중단되었습니다. 이 필드에는 버킷과 연결된 사용자 정의 키-값 쌍이 포함됩니다. 대신 resourceTags를 사용하세요. |
|
tags.lastUpdatedTime |
NULLABLE |
TIMESTAMP |
지원 중단되었습니다. 이 필드는 tags가 마지막으로 업데이트된 시간을 나타냅니다. |
|
tags.tagMap |
REPEATED |
RECORD |
지원 중단되었습니다. 이 필드(tags 레코드의 일부)에는 태그 키와 값의 맵이 포함됩니다. |
|
tags.tagMap.key |
NULLABLE |
STRING |
지원 중단되었습니다. 이 필드(tags.tagMap 레코드의 일부)는 태그의 키입니다. |
|
tags.tagMap.value |
NULLABLE |
STRING |
지원 중단되었습니다. 이 필드(tags.tagMap 레코드의 일부)는 태그의 값입니다. |
|
labels |
REPEATED |
RECORD |
사용자가 제공한 버킷 라벨(키-값 쌍)입니다. | |
labels.key |
NULLABLE |
STRING |
개별 라벨 항목입니다. | |
labels.value |
NULLABLE |
STRING |
라벨의 값입니다. | |
retentionPeriod |
NULLABLE |
LONG |
버킷의 보관 정책 보관 기간(초)입니다. | |
retentionMode |
NULLABLE |
STRING |
버킷 보관 정책의 보관 모드입니다. 가능한 값은 Locked 또는 Unlocked입니다. |
|
objectRetentionEnabled |
NULLABLE |
BOOLEAN |
버킷에 객체 보관 잠금이 사용 설정되어 있는지 여부 가능한 값은 True 또는 False입니다. 이 필드가 True이면 버킷의 객체에 객체 수준 보관 구성을 적용할 수 있습니다. |
|
defaultEventBasedHold |
NULLABLE |
BOOLEAN |
버킷에 기본 이벤트 기반 속성이 사용 설정되어 있는지 여부입니다. 가능한 값은 True 또는 False입니다. |
|
softDeletePolicy |
NULLABLE |
RECORD |
버킷의 소프트 삭제 정책: 삭제 후 버킷의 객체가 소프트 삭제된 상태로 유지되는 기간을 정의합니다. 소프트 삭제 상태의 객체는 영구 삭제할 수 없으며 hardDeleteTime까지 복원할 수 있습니다.
|
|
softDeletePolicy.effectiveTime |
NULLABLE |
DATETIME |
소프트 삭제 정책이 적용되는 날짜/시간입니다(RFC 3339 형식).
|
|
softDeletePolicy.retentionDurationSeconds |
NULLABLE |
LONG |
소프트 삭제된 객체가 보관되어 영구 삭제할 수 없는 기간(초)입니다. 값은 7일 이상, 90일 미만이어야 합니다. 값을 0으로 설정하여 소프트 삭제 정책을 중지할 수도 있습니다.
|
|
enforcedEncryptionAllowedTypes |
REPEATED |
STRING |
버킷에 허용되는 암호화 유형입니다. 가능한 값은 다음과 같습니다.
|
|
encryption |
NULLABLE |
RECORD |
버킷의 암호화 구성입니다. 업로드 중에 객체 수준 암호화를 지정하지 않는 한 Cloud Storage는 이 구성을 사용하여 버킷에 추가된 새 객체를 암호화합니다. | |
encryption.defaultEncryptionType |
NULLABLE |
STRING |
버킷의 기본 암호화 유형입니다. encryption.defaultKmsKeyName가 설정된 경우 이 값은 CMEK이고, 그렇지 않으면 GMEK입니다. |
|
encryption.defaultKmsKeyName |
NULLABLE |
STRING |
버킷의 새 객체에 사용하도록 구성된 기본 Cloud Key Management Service 키입니다. 이 필드가 설정되면 Cloud Key Management Service가 기본 암호화 (CMEK)에 사용됩니다. 설정하지 않으면 Google-owned and Google-managed encryption keys 가 기본 암호화 (GMEK)에 사용됩니다. | |
iamConfiguration |
NULLABLE |
RECORD |
버킷의 IAM 구성입니다. | |
iamConfiguration.uniformBucketLevelAccess |
NULLABLE |
RECORD |
버킷의 균일한 버킷 수준 액세스 구성입니다. | |
iamConfiguration.uniformBucketLevelAccess.enabled |
NULLABLE |
BOOLEAN |
버킷이 균일한 버킷 수준 액세스를 사용하는지 여부입니다. | |
iamConfiguration.publicAccessPrevention |
NULLABLE |
STRING |
버킷의 공개 액세스 방지 상태입니다("inherited" 또는 "enforced"). |
|
resourceTags |
REPEATED |
RECORD |
버킷의 태그입니다. 자세한 내용은 Cloud Resource Manager API를 참조하세요. | |
resourceTags.key |
NULLABLE |
STRING |
resourceTags 키 |
|
resourceTags.value |
NULLABLE |
STRING |
resourceTags 값입니다. |
|
objectCount |
NULLABLE |
INTEGER |
버킷의 총 객체 수입니다. | |
totalSize |
NULLABLE |
INTEGER |
버킷의 총 크기(바이트)입니다. |
객체 메타데이터
객체 메타데이터 스키마에는 object_attributes_view 및 object_attributes_latest_snapshot_view 테이블이 포함됩니다. 이러한 테이블에는 라이브 객체의 메타데이터, 객체 버전 관리가 사용 설정된 경우 이전 객체 버전, 소프트 삭제가 사용 설정된 경우 소프트 삭제된 객체가 포함됩니다.
객체 메타데이터 테이블에는 다음 필드가 있습니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 | 스토리지 일괄 작업 필터링 가능 |
|---|---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
snapshotTime 필드는 객체 메타데이터 스냅샷 새로고침 시간을 RFC 3339 형식으로 저장합니다. 동일한 스냅샷 새로고침에서 생성된 모든 레코드에는 동일한 snapshotTime가 있습니다. |
|
bucket |
NULLABLE |
STRING |
이 객체가 포함된 버킷의 이름입니다. | |
location |
NULLABLE |
STRING |
버킷의 위치입니다. 버킷에 있는 객체의 객체 데이터는 이 위치 내의 물리적 스토리지에 상주합니다. | |
componentCount |
NULLABLE |
INTEGER |
복합 객체에만 대해서만 반환됩니다. 복합 객체에 있는 비복합 객체의 수입니다. componentCount에는 현재 객체를 구성하는 데 사용된 복합 객체의 일부였던 비복합 객체가 포함됩니다. |
|
contentDisposition |
NULLABLE |
STRING |
객체 데이터의 Content-Disposition입니다. | |
contentEncoding |
NULLABLE |
STRING |
객체 데이터의 Content-Encoding입니다. | |
contentLanguage |
NULLABLE |
STRING |
객체 데이터의 Content-Language입니다. | |
contentType |
NULLABLE |
STRING |
객체 데이터의 Content-Type입니다. | |
contexts |
REPEATED |
RECORD |
객체에 연결된 컨텍스트(키-값 쌍)입니다. 객체 컨텍스트에 대한 자세한 내용은 객체 컨텍스트 개요를 참조하세요. | |
contexts.key |
NULLABLE |
STRING |
객체 컨텍스트 키입니다. | |
contexts.value |
NULLABLE |
STRING |
객체 컨텍스트 키의 값입니다. | |
contexts.type |
NULLABLE |
STRING |
객체 컨텍스트 유형으로, 항상 custom입니다. |
|
contexts.createTime |
NULLABLE |
TIMESTAMP |
이 객체 컨텍스트 키가 객체에 처음 추가된 시간입니다. RFC 3339 형식으로 지정됩니다. | |
contexts.updateTime |
NULLABLE |
TIMESTAMP |
이 객체 컨텍스트 키가 마지막으로 업데이트된 시간입니다. RFC 3339 형식으로 지정됩니다. | |
crc32c |
NULLABLE |
INTEGER |
RFC 4960 부록 B의 설명대로 CRC32c 체크섬은 big-endian 바이트 순서로 base64를 사용하여 인코딩됩니다. 고객 관리 암호화 키 (CMEK)로 암호화된 객체에는 이 필드가 없습니다. | |
customTime |
NULLABLE |
TIMESTAMP |
객체에 대해 사용자가 지정한 타임스탬프입니다. RFC 3339 형식으로 지정됩니다. | |
etag |
NULLABLE |
STRING |
객체의 HTTP 1.1 항목 태그입니다. | |
eventBasedHold |
NULLABLE |
BOOLEAN |
객체에 이벤트 기반 보존 조치가 적용되는지 여부입니다. | |
generation |
NULLABLE |
INTEGER |
이 객체의 콘텐츠 세대입니다. | |
md5Hash |
NULLABLE |
STRING |
base64를 사용하여 인코딩된 데이터의 MD5 해시입니다. 복합 객체 및 고객 관리 암호화 키 (CMEK)로 암호화된 객체에는 이 필드가 없습니다. | |
mediaLink |
NULLABLE |
STRING |
객체 데이터를 다운로드하기 위한 URL입니다. | |
metadata |
REPEATED |
RECORD |
키-값 쌍으로 된 사용자 제공 메타데이터입니다. | |
metadata.key |
NULLABLE |
STRING |
개별 메타데이터 항목입니다. | |
metadata.value |
NULLABLE |
STRING |
메타데이터 값입니다. | |
metageneration |
NULLABLE |
INTEGER |
이 세대의 이 객체에 대한 메타데이터 버전입니다. | |
name |
NULLABLE |
STRING |
객체 이름입니다. | |
selfLink |
NULLABLE |
STRING |
이 객체의 URL입니다. | |
size |
NULLABLE |
INTEGER |
객체 크기(바이트). | |
storageClass |
NULLABLE |
STRING |
객체의 스토리지 클래스입니다. | |
temporaryHold |
NULLABLE |
BOOLEAN |
객체에 임시 보존이 적용되는지 여부입니다. | |
timeCreated |
NULLABLE |
TIMESTAMP |
객체 생성 시간입니다. 이 타임스탬프는 변경되지 않습니다. RFC 3339 형식으로 지정됩니다. | |
timeDeleted |
NULLABLE |
TIMESTAMP |
객체의 삭제 시간입니다. RFC 3339 형식으로 지정됩니다. 이전 객체 버전의 경우 timeDeleted 필드는 객체 버전이 이전 버전이 된 시점을 나타냅니다. |
|
updated |
NULLABLE |
TIMESTAMP |
객체 메타데이터의 가장 최근 수정 시간입니다. RFC 3339 형식으로 지정됩니다. | |
timeStorageClassUpdated |
NULLABLE |
TIMESTAMP |
객체의 스토리지 클래스가 마지막으로 변경된 시간입니다. | |
retentionExpirationTime |
NULLABLE |
TIMESTAMP |
객체를 삭제할 수 있는 가장 이른 시간입니다. 이 값은 객체에 설정된 보관 구성과 객체가 포함된 버킷에 설정된 보관 정책에 따라 달라집니다. RFC 3339 형식으로 지정됩니다. | |
retentionExpirationTimeLockStatus |
NULLABLE |
BOOLEAN |
retentionExpirationTime의 잠금 상태입니다. |
|
retentionExpirationTimeSource |
NULLABLE |
STRING |
retentionExpirationTime의 소스입니다. |
|
retainUntilTime |
NULLABLE |
TIMESTAMP |
객체 수준 보관 정책 구성에 의해 설정된 시간을 나타내며 객체 수준 설정만 반영합니다. 객체가 보관되는 시행일은 retentionExpirationTime 필드에 제공됩니다. retentionExpirationTime은 객체 수준 및 버킷 수준 보관 정책에 지정된 날짜 중 더 늦은 날짜입니다. |
|
retainUntilTimeLockStatus |
NULLABLE |
BOOLEAN |
객체 수준 보관 정책 구성에 따라 설정된 retainUntilTime의 잠금 상태입니다. |
|
softDeleteTime |
NULLABLE |
DATETIME |
객체가 소프트 삭제된 시간입니다. 소프트 삭제 정책이 있는 버킷의 객체에만 사용할 수 있습니다. | |
hardDeleteTime |
NULLABLE |
DATETIME |
소프트 삭제된 객체가 영구적으로 삭제되어 더 이상 복원할 수 없는 시간입니다. 값은 버킷의 softDeleteTime 값과 softDeletePolicy.retentionDurationSeconds 값의 합계입니다. 소프트 삭제 정책이 있는 버킷의 객체에만 사용할 수 있습니다. |
|
project |
NULLABLE |
INTEGER |
버킷이 속한 프로젝트의 프로젝트 번호입니다. | |
ref |
NULLABLE |
RECORD |
Cloud Storage 객체를 참조하는 BigQuery ObjectRef 값입니다. 쿼리에서 이 열을 사용하려면 BigQuery를 사용하여 객체 데이터 및 메타데이터 분석을 참조하세요. /로 끝나는 객체의 경우 이 필드는 null 값을 반환합니다. 문제 해결 방법에 대한 자세한 내용은 데이터 세트를 쿼리할 때 ref 열의 null 값을 참조하세요. |
|
ref.uri |
NULLABLE |
STRING |
연결된 Cloud Storage 객체의 BigQuery 참조 URL로, 객체의 URI와 동일합니다. 예를 들면 gs://bucket_name/object_name입니다. |
|
ref.version |
NULLABLE |
STRING |
연결된 Cloud Storage 객체의 BigQuery 버전 식별자이며 객체의 generation 필드와 동일합니다. |
|
ref.authorizer |
NULLABLE |
STRING |
BigQuery에서 Cloud Storage 객체에 액세스하는 데 사용할 수 있는 Cloud 리소스 연결입니다. 이 값은 객체 메타데이터 스키마에서 항상 null입니다. |
|
ref.details |
NULLABLE |
JSON |
Cloud Storage 객체의 BigQuery 표현에서 사용할 수 있는 메타데이터 필드는 다음 스키마를 사용합니다. gcs_metadata json {
"content_type": string,
"md5_hash": string,
"size": number,
"updated": number
} |
|
encryptionType |
NULLABLE |
STRING |
객체의 암호화 유형입니다. 가능한 값은 다음과 같습니다.
|
|
securityInsights |
NULLABLE |
RECORD |
객체의 공개 액세스 상태를 제공하여 공개적으로 읽기 또는 쓰기가 가능한지 여부를 나타냅니다. 자세한 내용은 공개적으로 액세스 가능한 객체 식별을 참조하세요. | |
securityInsights.publicAccessInsight |
NULLABLE |
RECORD |
객체의 공개 액세스 가능성 상태를 제공합니다. | |
securityInsights.publicAccessInsight.readPublicAccess |
NULLABLE |
STRING |
객체의 공개 읽기 가능 상태입니다. 가능한 값은 다음과 같습니다.
|
|
securityInsights.publicAccessInsight.readPublicAccessSource |
NULLABLE |
STRING |
readPublicAccess가 PUBLIC이면 공개 읽기 권한의 소스를 반환하고, 그렇지 않으면 이 필드는 null입니다. 가능한 값은 다음과 같습니다.
|
|
securityInsights.publicAccessInsight.writePublicAccess |
NULLABLE |
STRING |
객체의 공개 쓰기 가능 상태입니다. 가능한 값은 다음과 같습니다.
|
최신 버킷 및 객체 메타데이터 스냅샷
연결된 데이터 세트는 다음 전용 뷰를 통해 버킷 및 객체 메타데이터의 최신 스냅샷을 노출합니다.
bucket_attributes_latest_snapshot_view테이블은 Cloud Storage 버킷의 최신 메타데이터를 제공합니다. 구조가 버킷 메타데이터 스키마와 일치합니다.object_attributes_latest_snapshot_view테이블은 Cloud Storage 객체의 최신 메타데이터를 제공합니다. 구조가 객체 메타데이터 스키마와 일치합니다.
프로젝트 메타데이터
연결된 데이터 세트는 프로젝트 메타데이터를 project_attributes_view라는 뷰로 노출합니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
snapshotTime 필드는 프로젝트 메타데이터 스냅샷 새로고침 시간을 RFC 3339 형식으로 저장합니다. 동일한 스냅샷 새로고침에서 생성된 모든 레코드에는 동일한 snapshotTime가 있습니다. |
name |
NULLABLE |
STRING |
프로젝트 이름입니다. |
id |
NULLABLE |
STRING |
프로젝트의 고유 식별자입니다. |
number |
NULLABLE |
INTEGER |
프로젝트에 연결된 숫자 값입니다. |
객체 컨텍스트 카탈로그
연결된 데이터 세트는 확장 데이터 페이로드 (프리뷰)를 포함한 객체 컨텍스트의 최신 메타데이터를 object_contexts_catalog_view라는 뷰로 노출합니다.
object_contexts_catalog_view 뷰는 Cloud Storage 객체의 최신 컨텍스트 정보를 제공합니다. 카탈로그 뷰는 24시간마다 업데이트됩니다. 초기 로드에는 24~48시간이 걸립니다. 새 버킷 또는 재배치된 버킷의 객체는 24~48시간 이내에 표시됩니다.
object_contexts_catalog_view 테이블에는 다음 필드가 있습니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
project |
NULLABLE |
INTEGER |
버킷이 속한 프로젝트의 프로젝트 번호입니다. |
bucket |
NULLABLE |
STRING |
이 객체가 포함된 버킷의 이름입니다. |
name |
NULLABLE |
STRING |
객체 이름입니다. |
generation |
NULLABLE |
INTEGER |
이 객체의 콘텐츠 세대입니다. |
location |
NULLABLE |
STRING |
객체의 위치입니다. |
createdTime |
NULLABLE |
STRING |
객체 생성 시간입니다. |
catalogUpdatedTime |
NULLABLE |
TIMESTAMP |
카탈로그의 항목이 업데이트된 시간입니다. |
contexts |
REPEATED |
RECORD |
객체에 연결된 컨텍스트 항목의 배열입니다. |
contexts.key |
NULLABLE |
STRING |
컨텍스트 항목의 키입니다 (예: google:annotation:label-detector-v1). |
contexts.value |
NULLABLE |
STRING |
컨텍스트 키와 연결된 문자열 값입니다. |
contexts.contextCreationTime |
NULLABLE |
TIMESTAMP |
이 특정 컨텍스트 항목의 생성 시간입니다. |
contexts.contextUpdateTime |
NULLABLE |
TIMESTAMP |
이 특정 컨텍스트 항목의 마지막 업데이트 시간입니다. |
contexts.extendedData(미리보기) |
NULLABLE |
JSON |
컨텍스트 (예: ML 모델 경계 상자 및 라벨)의 구조화된 확장 데이터 페이로드가 포함된 JSON 객체입니다. 컨텍스트에 확장 데이터가 없는 경우 이 필드는 NULL입니다. |
활동 데이터 테이블의 데이터 세트 스키마
Storage Insights 데이터 세트는 운영 측정항목, 오류 로그, 맞춤설정 가능한 범위가 있는 집계된 뷰를 포함한 활동 데이터를 제공하여 다양한 분석 요구사항을 지원합니다. 다음 섹션에서는 활동 데이터 스키마와 이 스키마에서 사용할 수 있는 데이터를 설명합니다.
객체 활동 데이터
Storage Insights 데이터 세트의 object_events_view 테이블은 객체 생성, 업데이트, 삭제 작업, 메타데이터, 이러한 작업 중에 발생한 오류에 대한 세부정보를 쿼리할 수 있는 레코드를 제공합니다. object_events_view 뷰를 쿼리하여 데이터를 사용해 스토리지 애셋의 변경사항을 추적하고 문제를 해결할 수 있습니다. object_events_view 뷰의 데이터는 Storage Intelligence 구독으로 범위가 지정되며 그 안에 활성 상태로 사용 설정된 모든 객체가 나열됩니다.
object_events_view 테이블에는 다음 필드가 포함됩니다.
| 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
requestCompletionTimestamp |
NULLABLE |
TIMESTAMP |
요청이 완료된 시점의 타임스탬프입니다(RFC 3339 형식). |
project |
NULLABLE |
INTEGER |
버킷 리소스를 소유한 프로젝트 번호입니다. |
bucketName |
NULLABLE |
STRING |
요청에 지정된 버킷의 이름입니다. |
objectName |
NULLABLE |
STRING |
요청에 지정된 객체의 이름입니다. 이 필드는 null일 수 있습니다. |
requestOperation |
NULLABLE |
STRING |
수행된 Cloud Storage 작업입니다. 이 필드는 쓰기, 업데이트, 삭제 작업으로 제한되며 null일 수 있습니다. |
requestBytes |
NULLABLE |
INTEGER |
요청에서 전송한 바이트 수입니다. |
responseBytes |
NULLABLE |
INTEGER |
응답에서 전송한 바이트 수입니다. |
requestProcessingTimeMicros |
NULLABLE |
INTEGER |
서버가 요청을 처리하는 데 걸린 시간(마이크로초)입니다. 이 시간은 첫 번째 바이트가 수신된 시점부터 응답이 전송될 때까지 측정됩니다. 재개 가능한 업로드의 경우 최종 업로드 요청에 대한 응답에 따라 엔드포인트가 결정됩니다. |
requestId |
NULLABLE |
STRING |
요청의 식별자입니다. |
requestHost |
NULLABLE |
STRING |
원래 요청에 지정된 호스트입니다. |
requestHttpMethod |
NULLABLE |
STRING |
이 요청에 사용되는 HTTP 메서드입니다. |
responseStatus |
NULLABLE |
INTEGER |
서버 응답에서 전송된 HTTP 상태 코드입니다. |
requestReferrer |
NULLABLE |
STRING |
요청의 HTTP 리퍼러입니다. |
size |
NULLABLE |
INTEGER |
객체 크기(바이트). |
generation |
NULLABLE |
INTEGER |
객체 버전 관리에 사용되는 객체의 콘텐츠 세대입니다. |
timeCreated |
NULLABLE |
TIMESTAMP |
객체 생성 시간입니다(RFC 3339 형식). |
storageClass |
NULLABLE |
STRING |
객체의 스토리지 클래스입니다. |
errorReason |
NULLABLE |
STRING |
오류의 원인입니다 (429 오류로 제한됨). |
location |
NULLABLE |
STRING |
객체의 위치입니다. |
프로젝트 활동 뷰
project_activity_view 테이블은 프로젝트 전반의 집계된 운영 인사이트를 제공합니다. 이 표는 작업 유형, 전송된 바이트, 응답 코드 및 오류를 계산하여 총 활동을 요약합니다. 프로젝트 활동 인사이트를 모니터링, 추적, 내부 비용 기여 분석에 사용할 수 있습니다. 뷰의 데이터는 Storage Intelligence 구독 범위에 따라 결정됩니다. 이 뷰에는 구독에서 활성 상태로 사용 설정된 버킷 및 객체에 대한 합산 데이터만 표시됩니다. 예를 들어 특정 버킷 10개에 대해서만 Storage Intelligence를 사용 설정하면 뷰에는 해당 버킷 10개의 데이터만 표시됩니다. 반대로 상위 수준 (조직, 폴더 또는 프로젝트)에서 Storage Intelligence를 사용 설정하면 해당 범위 내의 모든 버킷과 객체가 자동으로 포함되고 뷰에 합산 데이터가 표시됩니다.
project_activity_view 테이블에는 다음 필드가 포함됩니다.
| 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
snapshotStartTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 시작 시간입니다. |
snapshotEndTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 종료 시간입니다. |
project |
NULLABLE |
INTEGER |
프로젝트 번호입니다. |
totalRequests |
NULLABLE |
INTEGER |
프로젝트 전체에서 수행된 총 요청 수입니다. |
totalReads |
NULLABLE |
INTEGER |
총 읽기 작업 수입니다. |
totalWrites |
NULLABLE |
INTEGER |
총 쓰기 작업 수입니다. |
totalUpdates |
NULLABLE |
INTEGER |
총 업데이트 작업 수입니다. |
totalDeletes |
NULLABLE |
INTEGER |
총 삭제 작업 수입니다. |
totalLists |
NULLABLE |
INTEGER |
총 목록 작업 수입니다. |
totalRequestBytes |
NULLABLE |
INTEGER |
전송된 총 요청 바이트 수입니다. |
totalResponseBytes |
NULLABLE |
INTEGER |
전송된 총 응답 바이트 수입니다. |
count4xx |
NULLABLE |
INTEGER |
총 4xx 오류 수입니다. |
count5xx |
NULLABLE |
INTEGER |
총 5xx 오류 수입니다. |
count2xx |
NULLABLE |
INTEGER |
2xx 성공 응답의 총 개수입니다. |
count400 |
NULLABLE |
INTEGER |
잘못된 요청에 대한 총 400 오류 수입니다. |
count401 |
NULLABLE |
INTEGER |
승인되지 않은 요청에 대한 총 401 오류 수입니다. |
count403 |
NULLABLE |
INTEGER |
금지된 요청에 대한 총 403 오류 수입니다. |
count429 |
NULLABLE |
INTEGER |
사용량 한도 초과 요청에 대한 총 429 오류 수입니다. |
버킷 활동 뷰
bucket_activity_view 테이블은 버킷 전반에서 집계된 운영 통계를 제공합니다. 이 표에는 작업 유형, 전송된 바이트, 응답 코드, 오류를 계산하여 총 활동이 요약되어 있으며 상위 프리픽스에 대한 세부정보가 포함되어 있습니다. 버킷 활동 통계를 사용하여 버킷 수준 모니터링, 문제 해결, 측정, 가장 활성 상태인 버킷과 가장 비활성 상태인 버킷 분석을 수행할 수 있습니다. bucket_activity_view 테이블의 데이터는 Storage Intelligence 구독으로 범위가 지정되며 활성 상태로 사용 설정된 모든 버킷의 레코드가 포함됩니다.
bucket_activity_view 테이블에는 다음 필드가 포함됩니다.
| 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
snapshotStartTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 시작 시간입니다. |
snapshotEndTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 종료 시간입니다. |
name |
NULLABLE |
STRING |
버킷의 이름입니다. |
generation |
NULLABLE |
INTEGER |
버킷의 세대 번호입니다. |
project |
NULLABLE |
INTEGER |
프로젝트 번호입니다. |
location |
NULLABLE |
STRING |
버킷의 위치입니다. |
totalRequests |
NULLABLE |
INTEGER |
버킷에 수행된 총 요청 수입니다. |
totalReads |
NULLABLE |
INTEGER |
총 읽기 작업 수입니다. |
totalWrites |
NULLABLE |
INTEGER |
총 쓰기 작업 수입니다. |
totalUpdates |
NULLABLE |
INTEGER |
총 업데이트 작업 수입니다. |
totalDeletes |
NULLABLE |
INTEGER |
총 삭제 작업 수입니다. |
totalLists |
NULLABLE |
INTEGER |
총 목록 작업 수입니다. |
totalRequestBytes |
NULLABLE |
INTEGER |
전송된 총 요청 바이트 수입니다. |
totalResponseBytes |
NULLABLE |
INTEGER |
전송된 총 응답 바이트 수입니다. |
count4xx |
NULLABLE |
INTEGER |
총 4xx 오류 수입니다. |
count5xx |
NULLABLE |
INTEGER |
총 5xx 오류 수입니다. |
count2xx |
NULLABLE |
INTEGER |
2xx 성공 응답의 총 개수입니다. |
count400 |
NULLABLE |
INTEGER |
잘못된 요청에 대한 총 400 오류 수입니다. |
count401 |
NULLABLE |
INTEGER |
승인되지 않은 요청에 대한 총 401 오류 수입니다. |
count403 |
NULLABLE |
INTEGER |
금지된 요청에 대한 총 403 오류 수입니다. |
count429 |
NULLABLE |
INTEGER |
사용량 한도 초과 요청에 대한 총 429 오류 수입니다. |
topPrefixes429Errors |
REPEATED |
RECORD |
429 오류가 가장 많이 발생한 상위 5개 버킷 프리픽스입니다. 프리픽스는 STRING로, 오류 수는 INTEGER로 포함하는 RECORD로 반환됩니다. |
topPrefixesRequestBytes |
REPEATED |
RECORD |
요청된 바이트 수가 가장 많은 상위 5개 버킷 프리픽스이며, 프리픽스를 STRING로, 개수를 INTEGER로 포함하는 RECORD로 반환됩니다. |
topPrefixesResponseBytes |
REPEATED |
RECORD |
응답 바이트 수가 가장 많은 상위 5개 버킷 프리픽스이며, 프리픽스를 STRING로, 개수를 INTEGER로 포함하는 RECORD로 반환됩니다. |
topPrefixesHighestOperations |
REPEATED |
RECORD |
작업 수가 가장 많은 상위 5개 버킷 프리픽스이며, 프리픽스를 STRING로, 개수를 INTEGER로 포함하는 RECORD로 반환됩니다. |
버킷 리전 활동 뷰
bucket_region_activity_view 테이블은 버킷에 대해 전송 및 수신된 총 바이트를 대상 리전별로 집계하여 요약합니다. 버킷 활동 리전 데이터를 사용하여 가장 활성 상태인 리전을 식별하면 최적의 버킷 위치를 결정하고, 리전 이그레스를 분석하고, 필요에 따라 버킷 재배치를 고려하여 성능, 비용 또는 복원력을 최적화할 수 있습니다. bucket_region_activity_view 테이블의 데이터는 Storage Intelligence 구독으로 범위가 지정되며 활성 상태로 사용 설정된 모든 버킷의 레코드가 포함됩니다.
| 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
snapshotStartTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 시작 시간입니다. |
snapshotEndTime |
NULLABLE |
TIMESTAMP |
RFC 3339 형식의 스냅샷 종료 시간입니다. |
project |
NULLABLE |
INTEGER |
버킷의 프로젝트 번호입니다. |
name |
NULLABLE |
STRING |
버킷의 이름입니다. |
generation |
NULLABLE |
INTEGER |
버킷의 세대 번호입니다. |
requestLocation |
NULLABLE |
STRING |
요청이 시작된 Google Cloud 위치입니다. |
bucketLocation |
NULLABLE |
STRING |
버킷의 위치입니다. |
requestBytes |
NULLABLE |
INTEGER |
지정된 버킷과 위치 간의 요청에 대해 전송된 총 바이트 수입니다. |
responseBytes |
NULLABLE |
INTEGER |
지정된 버킷과 위치 간에 응답을 위해 전송된 총 바이트 수입니다. |
이벤트 및 오류의 데이터 세트 스키마
연결된 데이터 세트에서는 events_view 및 error_attributes_view 뷰를 통해 스냅샷 처리 이벤트 및 오류를 확인할 수 있습니다. 스냅샷 처리 오류를 해결하려면 데이터 세트 오류 문제 해결을 참조하세요.
이벤트 로그
연결된 데이터 세트의 events_view 뷰에서 이벤트 로그를 확인할 수 있습니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
manifest.snapshotTime |
NULLABLE |
TIMESTAMP |
이벤트 스냅샷이 새로고침되는 시간입니다(RFC 3339 형식). |
manifest.viewName |
NULLABLE |
STRING |
새로고침되는 뷰의 이름입니다. |
manifest.location |
NULLABLE |
STRING |
새로고침되는 데이터의 소스 위치입니다. |
globalManifest.snapshotTime |
NULLABLE |
TIMESTAMP |
모든 소스 위치의 버킷 및 객체 속성 테이블에 대한 수집 완료 시간(RFC 3339 형식)입니다. |
eventTime |
NULLABLE |
TIMESTAMP |
이벤트가 발생한 시간입니다. |
eventCode | NULLABLE |
STRING | 해당 항목과 연결된 이벤트 코드입니다. eventCode 값은 다음과 같습니다.
|
오류 코드
연결된 데이터 세트의 error_attributes_view 테이블에서 오류 코드를 확인할 수 있습니다.
| 메타데이터 필드 | 모드 | 유형 | 설명 |
|---|---|---|---|
errorCode |
NULLABLE |
INTEGER |
이 항목과 연결된 오류 코드입니다. 유효한 값 목록과 이러한 오류를 해결하는 방법은 데이터 세트 오류 문제 해결을 참조하세요. |
errorSource |
NULLABLE |
STRING |
오류의 소스입니다. 유효한 값: CONFIGURATION_PREPROCESSING |
errorTime |
NULLABLE |
TIMESTAMP |
오류가 발생한 시간입니다. |
sourceGcsLocation |
NULLABLE |
STRING |
오류의 소스 Cloud Storage 위치입니다. 프로젝트의 경우 프로젝트가 위치와 연결되지 않으므로 이 필드는 null입니다. |
bucketErrorRecord.bucketName |
NULLABLE |
STRING |
오류가 발생한 버킷의 이름입니다. 이 정보를 사용하여 버킷 오류를 디버깅할 수 있습니다. |
bucketErrorRecord.serviceAccount |
NULLABLE |
STRING |
버킷에서 객체를 수집할 권한이 필요한 서비스 계정입니다. 이 정보를 사용하여 버킷 오류를 디버깅할 수 있습니다. |
projectErrorRecord.projectNumber |
NULLABLE |
INTEGER |
오류가 발생한 프로젝트 번호입니다. 이 정보를 사용하여 프로젝트 오류를 디버깅할 수 있습니다. |
projectErrorRecord.organizationName |
NULLABLE |
STRING |
처리를 위해 프로젝트가 속해야 하는 조직의 이름입니다. 0 값은 프로젝트가 조직에 없음을 나타냅니다. 이 정보를 사용하여 프로젝트 오류를 디버깅할 수 있습니다. |
데이터 세트 오류 문제 해결
연결된 데이터 세트의 error_attributes_view 뷰에 로깅되는 스냅샷 처리 오류를 해결하려면 다음 표를 참조하세요.
| 오류 코드 | 오류 사례 | 오류 메시지 | 문제 해결 |
|---|---|---|---|
| 1 | 소스 프로젝트가 조직에 속하지 않습니다. | 소스 프로젝트 projectErrorRecord.projectNumber가 조직 projectErrorRecord.organizationName에 속하지 않습니다. |
소스 프로젝트 projectErrorRecord.projectNumber를 조직 projectErrorRecord.organizationName에 추가합니다. 조직 간에 프로젝트를 마이그레이션하는 방법에 관한 안내는 조직 간에 프로젝트 마이그레이션을 참조하세요. |
| 2 | 버킷 승인 오류 | bucketErrorRecord.bucketName 버킷의 객체 수집 권한이 거부되었습니다. |
서비스 계정 bucketErrorRecord.serviceAccount에 bucketErrorRecord.bucketName 버킷의 객체 수집을 허용하는 Identity and Access Management(IAM) 권한을 부여합니다. 자세한 내용은 서비스 에이전트에 필요한 권한 부여를 참조하세요. |
| 3 | 대상 프로젝트가 조직에 속하지 않습니다. | 대상 프로젝트 projectErrorRecord.projectNumber가 조직 projectErrorRecord.organizationName에 없습니다. |
대상 프로젝트 projectErrorRecord.projectNumber를 조직 projectErrorRecord.organizationName에 추가합니다. 조직 간에 프로젝트를 마이그레이션하는 방법에 관한 안내는 조직 간에 프로젝트 마이그레이션을 참조하세요. |
| 4 | 소스 프로젝트에 Storage Intelligence가 구성되어 있지 않습니다. | 소스 프로젝트 projectErrorRecord.projectNumber에 Storage Intelligence가 구성되어 있지 않습니다. |
소스 프로젝트 projectErrorRecord.projectNumber에 Storage Intelligence를 구성합니다. 자세한 내용은 Storage Intelligence 구성 및 관리를 참조하세요. |
| 5 | 버킷에 Storage Intelligence가 구성되어 있지 않습니다. | 버킷 bucketErrorRecord.bucketName에 Storage Intelligence가 구성되어 있지 않습니다. |
bucketErrorRecord.bucketName 버킷에 Storage Intelligence를 구성합니다. 자세한 내용은 Storage Intelligence 구성 및 관리를 참조하세요. |
| 6 | 버킷 액세스 인증 오류 | bucketErrorRecord.bucketName 버킷의 ACTIVITY_BUCKET_ACCESS_AUTHORIZATION_ERROR입니다. |
서비스 계정 bucketErrorRecord.serviceAccount에 bucketErrorRecord.bucketName 버킷의 활동 수집을 허용하는 Identity and Access Management (IAM) 권한을 부여합니다. 자세한 내용은 서비스 에이전트에 필요한 권한 부여를 참조하세요. |