이 페이지에서는 스토리지 일괄 작업을 생성, 확인, 나열, 취소, 삭제하는 방법을 설명합니다. 또한 스토리지 일괄 작업에서 Cloud 감사 로그를 사용하는 방법도 설명합니다.
시작하기 전에
스토리지 일괄 작업을 만들고 관리하려면 다음 섹션의 단계를 완료하세요.
Storage Intelligence 구성
스토리지 일괄 작업을 만들고 관리하려면 작업을 실행할 버킷에서 Storage Intelligence를 구성합니다.
Google Cloud CLI 설정
Google Cloud CLI 버전 516.0.0 이상을 사용해야 합니다.
기본 프로젝트 설정
스토리지 일괄 작업을 만들 프로젝트를 설정합니다.
gcloud config set project PROJECT_ID
여기서 PROJECT_ID는 프로젝트 ID입니다.
API 사용 설정
Storage Batch Operations API를 사용 설정합니다.
gcloud services enable storagebatchoperations.googleapis.com
매니페스트 만들기
객체 선택에 매니페스트를 사용하려면 매니페스트를 만듭니다.
스토리지 일괄 작업 만들기
이 섹션에서는 스토리지 일괄 작업을 만드는 방법을 설명합니다.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs create
명령어를 실행합니다.gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
각 항목의 의미는 다음과 같습니다.
JOB_NAME
은 스토리지 일괄 작업의 이름입니다.BUCKET_NAME
은 처리할 객체가 하나 이상 포함된 버킷의 이름입니다.OBJECT_SELECTION_FLAG
는 다음 플래그 중 하나입니다.--included-object-prefixes
: 하나 이상의 객체 접두사를 지정합니다. 예를 들면 다음과 같습니다.- 단일 접두사가 일치하도록 하려면
--included-object-prefixes='prefix1'
를 사용하세요. - 여러 접두사가 일치하도록 하려면 쉼표로 구분된 접두사 목록(
--included-object-prefixes='prefix1,prefix2'
)을 사용합니다. - 모든 객체를 포함하려면 빈 프리픽스
--included-object-prefixes=''
를 사용하세요.
- 단일 접두사가 일치하도록 하려면
--manifest-location
: 매니페스트 위치를 지정합니다. 예를 들면gs://bucket_name/path/object_name.csv
입니다.
JOB_TYPE_FLAG
는 작업 유형에 따라 다음 플래그 중 하나입니다.--delete-object
: 하나 이상의 객체를 삭제합니다.--put-metadata
: 객체 메타데이터를 업데이트합니다. 객체 메타데이터는 키-값 쌍으로 저장됩니다. 수정하려는 메타데이터의 키-값 쌍을 지정합니다. 하나 이상의 키-값 쌍을 목록으로 지정할 수 있습니다.--rewrite-object
: 하나 이상의 객체의 고객 관리 암호화 키를 업데이트합니다.--put-object-event-based-hold
: 이벤트 기반 객체 보존 조치를 사용 설정합니다.--no-put-object-event-based-hold
: 이벤트 기반 객체 보존 조치를 사용 중지합니다.--put-object-temporary-hold
: 임시 객체 보존 조치를 사용 설정합니다.--no-put-object-temporary-hold
: 임시 객체 보존 조치를 사용 중지합니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.스토리지 일괄 작업의 설정이 포함된 JSON 파일을 만듭니다. 다음은 일반적으로 포함되는 설정입니다.
{ "Description": "JOB_DESCRIPTION", "BucketList": { "Buckets": [ { "Bucket": "BUCKET_NAME", "Manifest": { "manifest_location": "MANIFEST_LOCATION" } "PrefixList": { "include_object_prefixes": "OBJECT_PREFIXES" } } ] }, "DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE } "RewriteObject": { "kms_key":"KMS_KEY_VALUE" } "PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE } }
각 항목의 의미는 다음과 같습니다.
JOB_NAME
은 스토리지 일괄 작업의 이름입니다.JOB_DESCRIPTION
은 스토리지 일괄 작업의 설명입니다.BUCKET_NAME
은 처리할 객체가 하나 이상 포함된 버킷의 이름입니다.처리할 객체를 지정하려면 JSON 파일에서 다음 속성 중 하나를 사용하세요.
처리하려는 작업에 따라 다음 옵션 중 하나를 지정합니다.
객체 삭제:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
여기서
OBJECT_DELETION_VALUE
는 객체를 삭제하는TRUE
입니다.객체의 고객 관리 암호화 키를 업데이트합니다.
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
여기서
KMS_KEY_VALUE
는 업데이트하려는 객체의 KMS 키 값입니다.객체 메타데이터 업데이트:
"PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., }
여기서
METADATA_VALUE
는 객체의 메타데이터 키 값입니다. 하나 이상의 키-값 쌍을 목록으로 지정할 수 있습니다.객체 보존 조치를 업데이트합니다.
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
각 항목의 의미는 다음과 같습니다.
TEMPORARY_HOLD_VALUE
는 임시 객체 보존 조치를 사용 설정하거나 중지하는 데 사용됩니다. 값이1
이면 보존 조치가 사용 설정되고 값이2
이면 보존 조치가 사용 중지됩니다.EVENT_BASED_HOLD_VALUE
는 이벤트 기반 객체 보존 조치를 사용 설정하거나 중지하는 데 사용됩니다. 값이1
이면 보존 조치가 사용 설정되고 값이2
이면 보존 조치가 사용 중지됩니다.
cURL
을 사용하여POST
스토리지 일괄 작업 요청으로 JSON API를 호출합니다.curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storagebatchoperations.googleapis.com/v1/project=PROJECT_ID/locations/global/jobs?job_id=JOB_ID"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 JSON 파일의 이름입니다.PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.JOB_ID
는 스토리지 일괄 작업의 이름입니다.
스토리지 일괄 작업 세부정보 가져오기
이 섹션에서는 스토리지 일괄 작업 세부정보를 가져오는 방법을 설명합니다.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs describe
명령어를 실행합니다.gcloud storage batch-operations jobs describe JOB_ID
각 항목의 의미는 다음과 같습니다.
JOB_ID
는 스토리지 일괄 작업의 이름입니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.cURL
을 사용하여GET
스토리지 일괄 작업 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?JOB_ID"
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.JOB_ID
는 스토리지 일괄 작업의 이름입니다.
스토리지 일괄 작업 나열
이 섹션에서는 프로젝트 내 스토리지 일괄 작업을 나열하는 방법을 설명합니다.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs list
명령어를 실행합니다.gcloud storage batch-operations jobs list
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.cURL
를 사용하여LIST
스토리지 일괄 작업 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.
스토리지 일괄 작업 취소
이 섹션에서는 프로젝트 내에서 스토리지 일괄 작업을 취소하는 방법을 설명합니다.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs cancel
명령어를 실행합니다.gcloud storage batch-operations jobs cancel JOB_ID
각 항목의 의미는 다음과 같습니다.
JOB_ID
는 스토리지 일괄 작업의 이름입니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.cURL
을 사용하여CANCEL
스토리지 일괄 작업 요청으로 JSON API를 호출합니다.curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.JOB_ID
는 스토리지 일괄 작업의 이름입니다.
스토리지 일괄 작업 삭제
이 섹션에서는 스토리지 일괄 작업을 삭제하는 방법을 설명합니다.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs delete
명령어를 실행합니다.gcloud storage batch-operations jobs delete JOB_ID
각 항목의 의미는 다음과 같습니다.
JOB_ID
는 스토리지 일괄 작업의 이름입니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.cURL
을 사용하여DELETE
스토리지 일괄 작업 요청으로 JSON API를 호출합니다.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.JOB_ID
는 스토리지 일괄 작업의 이름입니다.
Storage Insights 데이터 세트를 사용하여 스토리지 일괄 작업 만들기
Storage Insights 데이터 세트를 사용하여 스토리지 일괄 작업을 만들려면 다음 섹션의 단계를 완료하세요.
Storage Insights 데이터 세트를 사용하여 매니페스트 만들기
BigQuery에서 데이터를 추출하여 스토리지 일괄 작업의 매니페스트를 만들 수 있습니다. 이렇게 하려면 연결된 데이터 세트를 쿼리하고 결과 데이터를 CSV 파일로 내보낸 후 Cloud Storage 버킷에 저장해야 합니다. 그러면 스토리지 일괄 작업에서 이 CSV 파일을 매니페스트로 사용할 수 있습니다.
BigQuery의 Storage Insights 데이터 세트 보기에서 다음 SQL 쿼리를 실행하면 이름이 Temp_Training
이고 크기가 1KiB를 초과하는 객체가 검색됩니다.
EXPORT DATA OPTIONS( uri=`URI`, format=`CSV`, overwrite=OVERWRITE_VALUE, field_delimiter=',') AS SELECT bucket, name, generation FROM DATASET_VIEW_NAME WHERE bucket = BUCKET_NAME AND name LIKE (`Temp_Training%`) AND size > 1024 * 1024 AND snapshotTime = SNAPSHOT_TIME
각 항목의 의미는 다음과 같습니다.
URI
는 매니페스트가 포함된 버킷의 URI입니다. 예를 들면gs://bucket_name/path_to_csv_file/*.csv
입니다.*.csv
와일드 카드를 사용하면 BigQuery에서 결과를 여러 CSV 파일로 내보냅니다.OVERWRITE_VALUE
는 불리언 값입니다.true
로 설정하면 내보내기 작업이 지정된 위치의 기존 파일을 덮어씁니다.DATASET_VIEW_NAME
은 Storage Insights 데이터 세트 뷰의 정규화된 이름으로PROJECT_ID.DATASET_ID.VIEW_NAME
형식입니다. 데이터 세트의 이름을 찾으려면 연결된 데이터 세트를 확인합니다.각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.DATASET_ID
는 데이터 세트 이름입니다. 예를 들면objects-deletion-dataset
입니다.VIEW_NAME
은 데이터 세트 뷰의 이름입니다. 예를 들면bucket_attributes_view
입니다.
BUCKET_NAME
은 버킷의 이름입니다. 예를 들면my-bucket
입니다.SNAPSHOT_TIME
는 Storage Insights 데이터 세트 보기의 스냅샷 시간입니다. 예를 들면2024-09-10T00:00:00Z
입니다.
스토리지 일괄 작업 만들기
매니페스트에 포함된 객체를 처리하는 스토리지 일괄 작업을 만들려면 다음 단계를 완료하세요.
명령줄
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
개발 환경에서
gcloud storage batch-operations jobs create
명령어를 실행합니다.gcloud storage batch-operations jobs create \ JOB_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
각 항목의 의미는 다음과 같습니다.
JOB_ID
는 스토리지 일괄 작업의 이름입니다.SOURCE_BUCKET_NAME
은 처리할 객체가 하나 이상 포함된 버킷입니다. 예를 들면my-bucket
입니다.URI
는 매니페스트가 포함된 버킷의 URI입니다. 예를 들면gs://bucket_name/path_to_csv_file/*.csv
입니다.*.csv
와일드 카드를 사용하면 BigQuery에서 결과를 여러 CSV 파일로 내보냅니다.JOB_TYPE_FLAG
는 작업 유형에 따라 다음 플래그 중 하나입니다.--delete-object
: 하나 이상의 객체를 삭제합니다.--put-metadata
: 객체 메타데이터를 업데이트합니다. 객체 메타데이터는 키-값 쌍으로 저장됩니다. 수정하려는 메타데이터의 키-값 쌍을 지정합니다. 하나 이상의 키-값 쌍을 목록으로 지정할 수 있습니다.--rewrite-object
: 하나 이상의 객체의 고객 관리 암호화 키를 업데이트합니다.--put-object-event-based-hold
: 이벤트 기반 객체 보존 조치를 사용 설정합니다.--no-put-object-event-based-hold
: 이벤트 기반 객체 보존 조치를 사용 중지합니다.--put-object-temporary-hold
: 임시 객체 보존 조치를 사용 설정합니다.--no-put-object-temporary-hold
: 임시 객체 보존 조치를 사용 중지합니다.
스토리지 일괄 작업에 Cloud 감사 로그 사용
스토리지 일괄 작업은 Cloud Storage Cloud 감사 로그에 Cloud Storage 객체의 변환을 기록합니다. Cloud Storage와 함께 CCloud 감사 로그를 사용하여 스토리지 일괄 작업이 실행하는 객체 변환을 추적할 수 있습니다. 감사 로그 사용 설정에 관한 자세한 내용은 감사 로그 사용 설정을 참고하세요. 감사 로그 항목에서 값이 StorageBatchOperations
인 callUserAgent
메타데이터 필드는 스토리지 일괄 작업 변환을 나타냅니다.