이 기능이 지원되는 버전: Frontline Plus, Enterprise Standard 및 Enterprise Plus, Education Standard 및 Education Plus, Enterprise Essentials Plus, Cloud ID Premium 사용 중인 버전 비교하기
Drive 인벤토리 내보내기를 설정한 후 BigQuery에서 데이터 세트를 분석할 수 있습니다. 이 페이지에서는 BigQuery에서 가져올 수 있는 일반적인 보고서의 테이블 스키마 및 쿼리 예시를 설명합니다.
참고: BigQuery에서 Drive 인벤토리를 내보내고 쿼리하는 데 비용이 발생하므로 Google Cloud 프로젝트에 대한 결제를 설정해야 합니다. 프로젝트에 결제 사용 설정하기
Drive 인벤토리 내보내기 스키마
스키마 및 정의
Drive 인벤토리 내보내기는 다음 스키마를 사용하여 BigQuery 데이터 세트에 추가됩니다.
| 이름 | 스키마 필드 | 설명 |
|---|---|---|
| 상품 ID | id |
항목의 고유 Drive 항목 식별자입니다. |
| 버전 | version |
파일의 최신 버전 번호입니다. 파일 버전은 일정하게 증가하는 숫자입니다. 여기에는 사용자에게 표시되지 않는 서버를 포함하여 서버의 파일에 대한 모든 변경사항이 반영됩니다. |
| 소유자 ID | owner.user.id |
사용자가 소유한 항목의 경우 파일 소유자의 사용자 ID입니다. |
| 소유자 이메일 | owner.user.email |
사용자가 소유한 항목의 경우 파일 소유자의 이메일입니다. |
| 공유 드라이브 ID | owner.shared_drive.id |
공유 드라이브에 있는 항목의 경우, 공유 드라이브 ID입니다. |
| 크리에이터 | creator |
항목 생성자의 이메일 및 사용자 ID입니다. 크리에이터가 더 이상 항목에 액세스할 수 없는 경우 이 필드는 채워지지 않습니다. |
| 스냅샷 타임스탬프 | snapshot_start_time_micros 및 snapshot_end_time_micros |
보고서 생성이 시작되고 종료된 시점의 타임스탬프입니다. |
| 읽기 시간 | read_time_micros |
Drive 항목 메타데이터가 읽힌 시점의 타임스탬프입니다. |
| 제목 | title |
사용자가 지정한 파일 제목입니다. |
| 설명 | description |
항목에 대한 간략한 설명 |
| 휴지통으로 이동된 상태 | trashed |
항목이 휴지통으로 이동되었지만 아직 삭제되지 않았는지 여부입니다. |
| MIME 형식 | mime_type |
항목의 MIME 유형입니다. Google Workspace 및 Google Drive에서 지원되는 MIME 유형을 참고하세요. |
| 파일 확장자 | file_extension |
전체 파일 확장자의 마지막 구성요소로, 이름 필드에서 추출됩니다. Google Drive의 바이너리 콘텐츠가 있는 항목에만 사용할 수 있습니다. |
| 생성 시간 | create_time_micros |
상품이 생성된 시점의 타임스탬프입니다. |
| 최종 수정 시간 | last_modified_time_micros |
다른 사용자가 항목을 마지막으로 수정한 시간의 타임스탬프입니다. |
| 파일 크기 | file_size_bytes |
blob 및 Docs 편집기 파일의 크기(바이트)입니다. 바로가기 및 폴더와 같이 크기가 없는 항목은 보고되지 않습니다. |
| 사용된 할당량 | consumed_quota_bytes |
항목에서 사용된 저장용량 할당량 바이트 수입니다. 여기에는 보관된 이전 버전뿐만 아니라 헤드 버전이 포함됩니다. |
| 공유 드라이브 ID | shared_drive_id |
공유 드라이브에 있는 항목의 경우, 공유 드라이브 ID입니다. |
| 조직 단위 | org_unit_path |
항목 소유자의 조직 단위입니다. |
| 체크섬 | md5_checksum |
항목 콘텐츠의 MD5 체크섬입니다. |
| 클라이언트 측 암호화 | client_side_encrypted |
항목이 클라이언트 측에서 암호화되었는지를 나타내는 불리언입니다 . |
| 상위 폴더 | parent |
항목의 상위 폴더 ID입니다. |
| 적용된 라벨* | applied_labels.id |
상품에 적용된 라벨의 ID입니다. |
applied_labels.title |
상품에 적용된 라벨의 리소스 이름입니다. | |
applied_labels.field_values.id |
라벨 또는 라이브러리 내에서 고유한 필드 ID입니다. |
|
|
|
필드 유형입니다. 다음 중 하나일 수 있습니다. |
|
|
|
필드를 식별하는 UI에서 표시하는 텍스트입니다. | |
| 바로가기 대상 ID | shortcut_target_id |
이 바로가기가 가리키는 파일 또는 폴더의 ID입니다. |
| 권한 | access.permissions.permission_id |
이 권한의 ID입니다. 수혜자의 고유 식별자입니다. 참고: 권한 ID는 사용자 ID와 다릅니다. |
access.permissions.name |
권한 값의 '적절한' 이름입니다. 다음은 각 권한 유형의 예시 목록입니다.
|
|
access.permissions.type |
권한 유형입니다. 유효한 값은 다음과 같습니다.
|
|
access.permissions.role |
이 권한이 부여하는 역할입니다. 유효한 값은 다음과 같습니다.
참고: 유형에 대한 자세한 내용은 역할 및 권한을 참고하세요. |
|
access.permissions.view |
권한이 뷰에 속하는 경우 값은 |
|
|
|
권한에서 파일을 검색할 수 있도록 허용할지 여부입니다. domain 또는 anyone 유형의 권한에 대해서만 보고됩니다. |
|
access.permissions.email |
이 권한이 참조하는 사용자 또는 그룹의 이메일 주소입니다. | |
access.permissions.domain |
이 권한이 참조하는 항목의 도메인 이름입니다. 권한 유형이 user, group 또는 domain인 경우에 표시됩니다. |
|
access.permissions.user_id |
권한의 이메일과 연결된 사용자 ID입니다. | |
access.permissions.permission_details |
사용자의 권한 유형입니다. | |
access.permissions.permission_details.role |
사용자의 기본 역할입니다. | |
access.permissions.permission_details |
이 권한이 상속된 항목의 ID입니다. 공유 드라이브의 항목에 대해서만 채워집니다. | |
access.permissions.permission_details |
권한이 상속되는지를 나타내는 불리언입니다. | |
access.permissions.inherited_permissions |
이 항목에 대해 상속된 권한이 사용 중지되었는지 여부입니다. 액세스가 제한된 폴더에만 해당합니다. |
* Drive의 항목에 적용된 라벨을 나타냅니다.
쿼리 예시
이러한 쿼리 예는 legacy SQL 사용을 전제로 합니다. project_name.dataset_name을 자신의 프로젝트 이름 및 데이터 세트 이름으로 변경합니다. BigQuery 데이터 쿼리에 대해 자세히 알아보세요.
Drive 검색으로 찾을 수 있는 항목 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다.
파일 ID, 제목, 소유자 이메일, 유형이 포함된 표를 반환합니다.
SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
SELECT 1
FROM UNNEST(access.permissions) AS permission
WHERE permission.allow_file_discovery = true
)특정 라벨이 있는 항목 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다. label_id를 라벨 ID로 바꾸세요. 이 ID는 라벨 관리자에서 확인할 수 있습니다.
이 쿼리는 파일 ID, 제목, 소유자 이메일, 유형이 포함된 표를 반환합니다.
SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
SELECT 1
FROM UNNEST(applied_labels) AS label
WHERE label.id = label_id
)
Drive 스토리지 사용량 기준점을 초과하는 사용자 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다. threshold를 MB의 기준점으로 바꿉니다. 예를 들어 Drive 스토리지 사용량이 15GB를 초과하는 사용자를 찾으려면 마지막에서 두 번째 줄에 HAVING total_storage_mb > 15000을 입력하면 됩니다.
이 쿼리는 테이블 사용자 이메일과 총 Drive 스토리지 사용량(MB)을 내림차순으로 반환합니다.
SELECT owner.user.email AS user_email,
SUM(size_bytes) / (1000000) AS total_storage_mb
FROM project_name.dataset_name
GROUP BY user_email
HAVING total_storage_mb > threshold
ORDER BY total_storage_mb DESC
공간을 가장 많이 사용하는 항목 유형 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다.
이 쿼리는 항목 유형의 표를 크기의 내림차순으로 반환합니다.
SELECT mime_type, SUM(consumed_quota_bytes) AS total_consumed
FROM project_name.dataset_name
GROUP BY mime_type
ORDER BY total_consumed DESC
클라이언트 측 암호화 (CSE)로 암호화된 항목 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다.
SELECT id, owner.user.email, title
FROM project_name.dataset_name
WHERE mime_type LIKE '%.encrypted'
특정 사용자와 공유된 항목 찾기
project_name.dataset_name을 프로젝트 이름 및 데이터 세트 이름으로 바꿉니다. user@example.com을 특정 사용자로 바꿉니다.
참고: 이 쿼리는 그룹 또는 공유 대상 그룹 멤버십을 통해 사용자의 공유 항목을 찾지 않습니다.
SELECT id, title, mime_type, owner.user.email as owner_email
FROM project_name.dataset_name
WHERE EXISTS (
SELECT 1
FROM UNNEST(access.permissions) AS permissions
WHERE permissions.email = user@example.com
)