Cloud Storage API

개요

Cloud Storage는 XML API와 JSON API라는 두 가지 API를 제공하며, Gsutil은 두 API와 상호작용할 수 있습니다. 기본적으로 4.0으로 시작하는 gsutil 버전은 JSON API와 상호작용합니다. API 중 하나를 사용하여 명령어를 실행할 수 없는 경우(예: 알림 명령어는 XML API에서 지원되지 않음) gsutil은 자동으로 다른 API를 사용합니다. 또한 gsutil은 해당 API만 지원하는 클라우드 스토리지 제공업체와 상호작용할 때 XML API를 자동으로 대체 사용합니다.

자세한 내용은 JSON API 또는 XML API 문서를 참조하세요.

사용되는 API 구성

특정 API를 사용하여 Cloud Storage와 상호작용하려면 .boto 구성 파일의 'GSUtil' 섹션에서 'prefer_api' 변수를 다음과 같이 'xml' 또는 'json'으로 설정하면 됩니다.

prefer_api = json

이렇게 하면 가능한 경우 gsutil에서 해당 API를 사용하게 됩니다(위에 설명된 경우 다른 API로 대체하여 사용). 이는 gsutil 테스트 명령어에도 적용되며, 원하는 API에 대한 통합 테스트를 실행합니다.

자세한 내용은 Bot 구성 파일 문서를 참조하세요.

API 간의 성능 및 비용 차이

XML API는 boto 프레임워크를 사용합니다. 이 프레임워크는 MD5 해시가 없는 경우 다운로드한 파일을 다시 읽어 MD5 해시를 계산합니다. MD5 해시가 메타데이터에 포함되어 있지 않은 객체의 경우(예: Cloud Storage 복합 객체) 다운로드에 필요한 대역폭과 경과 시간이 두 배가 됩니다. 따라서 복합 객체로 작업하는 경우 prefer_api에 대한 기본값을 사용하는 것이 좋습니다.

또한 XML API는 다른 객체나 ACL 또는 버킷 구성 등의 버킷 메타데이터 필드를 가져오려면 별도의 호출이 필요합니다. 따라서 가능한 경우 JSON API를 사용하면 작업이 더 적게 사용되므로 비용이 절감됩니다.