객체 메타데이터

이 페이지에서는 객체와 함께 Cloud Storage에 저장되는 메타데이터 필드를 설명합니다. 객체의 메타데이터를 보고 설정하는 방법을 알아보려면 객체 메타데이터 보기 및 편집하기를 참조하세요.

소개

Cloud Storage에 저장된 객체에는 연결된 메타데이터가 있습니다. 메타데이터는 객체의 속성을 식별하며 객체에 액세스할 때 객체를 어떻게 처리해야 하는지 지정합니다. 메타데이터는 키:값 쌍으로 존재합니다. 예를 들어 객체의 스토리지 클래스는 메타데이터 항목 storageClass:STANDARD로 표현됩니다. storageClass는 메타데이터의 이고 모든 객체에는 이러한 키가 연결되어 있습니다. STANDARD는 이 특정 객체의 을 지정하며 값은 객체마다 다릅니다.

메타데이터의 변경 가능성은 메타데이터마다 다릅니다. 어떤 메타데이터는 아무 때나 수정할 있는 반면 어떤 데이터는 객체를 만들 때만 설정할 수 있습니다. 또 어떤 메타데이터는 볼 수만 있습니다. 예를 들어 Cache-Control 메타데이터의 값은 언제든 수정할 수 있지만 storageClass 메타데이터는 객체가 생성되거나 다시 작성될 때만 할당할 수 있으며 generation 값은 객체가 다시 작성될 때 변경될 수 있지만 generation 메타데이터의 값을 직접 수정할 수는 없습니다.

수정 가능한 메타데이터

객체에 대해 사용자가 변경할 수 있는 메타데이터에는 다음과 같은 두 가지 카테고리가 있습니다.

  • 고정 키 메타데이터: 키가 설정되어 있지만 사용자가 값을 지정할 수 있는 메타데이터입니다.

  • 커스텀 메타데이터: 사용자가 키 및 키와 연결된 값을 모두 지정하여 추가하는 메타데이터입니다.

메타데이터를 수정할 때 대개 비 ASCII 문자는 피해야 합니다. XML API가 사용하는 HTTP 헤더에서는 비 ASCII 문자가 허용되지 않기 때문입니다. 또한 XML API를 사용할 때 요청 URL과 HTTP 헤더를 합친 크기가 16KB로 제한되므로 총 메타터이터 크기에서 이 제한을 고려해야 합니다.

고정 키 메타데이터

다음과 같은 객체 메타데이터를 수정할 수 있습니다. 단, 이를 위한 충분한 권한이 있어야 합니다.

액세스 제어 메타데이터

Cloud Storage는 Identity and Access Management(IAM)액세스제어 목록(ACL)을 사용하여 객체에 대한 액세스 권한을 제어합니다. 액세스 제어 방법과 관련 메타데이터에 대해 알아보려면 다음 링크를 사용하세요.

Cache-Control

Cache-Control 메타데이터는 Cloud Storage에서 데이터가 제공되는 방식의 두 가지 측면, 즉 데이터를 캐시할 수 있는지 여부와 데이터를 변환할 수 있는지 여부를 지정할 수 있습니다.

데이터 캐시하기

Cache-Control 메타데이터를 사용하면 브라우저 캐시와 인터넷 캐시가 객체를 캐시할 수 있는지 여부와 캐시할 수 있는 기간을 제어할 수 있으며, 이를 통해 미래의 요청을 충족할 수 있습니다. Cache-Control은 다음에 해당하는 객체에 액세스할 때만 적용됩니다.

Cache-Control의 값을 public으로 설정하면 객체가 어디서든 캐시될 수 있습니다. 값을 private으로 설정하면 객체는 요청자의 로컬 캐시에 캐시될 수 있습니다. 값을 no-cache로 설정하면 객체가 캐시될 수 있지만 Cloud Storage에 의해 검증되기 전에는 미래 요청을 충족하는 데 사용될 수 없습니다.

max-age=[TIME_IN_SECONDS] 값을 Cache-Control 메타데이터에 추가할 수도 있습니다. max-age 값은 객체가 비활성으로 간주되기 전에 캐시될 수 있는 시간을 나타냅니다. 특수한 상황을 제외하고 비활성 객체는 캐시에서 제공되지 않습니다.

해당 객체에 Cache-Control 메타데이터 항목이 없는 경우 Cloud Storage는 객체에 제공하는 응답에 public, max-age=3600 기본값을 사용합니다.

캐싱을 허용하면 더 새로운 객체 버전을 업로드 한 후에도 객체의 이전 버전이 계속 다운로드될 수 있습니다. 이는 max-age에 의해 결정되는 기간 동안에는 이전 버전이 캐시에서 "새로운" 상태인 것으로 유지되기 때문입니다. 또한 인터넷의 다양한 공간에서 객체가 캐시될 수 있기 때문에 캐시된 객체가 모두 만료되게 할 수 있는 방법은 없습니다. 공개적으로 읽을 수 있는 객체의 캐시된 버전을 제공하지 않으려면 객체에 Cache-Control:no-cache, max-age=0을 설정합니다.

데이터 변환

Cache-Control 메타데이터를 사용하면 객체가 저장될 때 호환되지 않는 클라이언트의 gzip 콘텐츠 인코딩 삭제와 같이 변환을 데이터에 적용하지 않고 객체를 제공할 수도 있습니다. 객체를 그대로 제공하려면 Cache-Control:no-transform을 설정합니다.

Content-Disposition

Content-Disposition 메타데이터는 전송 중인 데이터에 대한 표시 정보를 지정합니다. Content-Disposition을 설명하면 콘텐츠의 표시 스타일을 제어할 수 있습니다. 예를 들어 첨부파일을 자동으로 표시할지 또는 첨부파일을 열기 위해 일정한 형태의 사용자 작업이 필요한지 여부를 결정할 수 있습니다. Content-Disposition 사양은 https://tools.ietf.org/html/rfc6266을 참조하세요.

Content-Encoding

Content-Encoding 메타데이터를 사용하여 객체의 기반 Content-Type을 유지하면서 객체가 압축되었음을 나타낼 수 있습니다. 예를 들어 gzip으로 압축된 텍스트 파일은 Content-Type에 지정된 텍스트 파일이라는 팩트와 Content-Encoding에 지정된 gzip 압축 파일이라는 팩트를 가질 수 있습니다. 파일을 업로드하기 전에 지정된 Content-Encoding을 사용하여 파일이 압축되었는지 확인해야 합니다. 그렇지 않으면 객체를 다운로드할 때 예기치 않은 동작이 발생할 수 있습니다. 자세한 내용은 트랜스코딩 페이지를 참조하세요.

텍스트와 같이 압축 가능한 콘텐츠의 경우 Content-Encoding: gzip을 사용하면 네트워크 및 스토리지 비용이 절약되고 콘텐츠 제공 성능이 향상됩니다. 그러나 보관 파일 및 많은 미디어 형식과 같이 이미 압축된 콘텐츠의 경우 다른 수준의 압축을 적용하고 Content-Encoding 메타데이터에 표시하면 객체 크기와 성능에 악영향을 미치므로 이를 피해야 합니다.

Content-Language

Content-Language 메타데이터는 객체가 어느 언어를 대상으로 하는지 나타냅니다. 이 메타데이터의 지원되는 값은 ISO 639-1 언어 코드를 참조하세요.

Content-Type

가장 일반적으로 설정되는 메타데이터는 Content-Type(미디어 유형이라고도 함)입니다. 이를 통해 브라우저가 객체를 제대로 렌더링할 수 있습니다. 모든 객체에는 Content-Type 메타데이터에 지정된 값이 있지만 값은 객체의 기본 유형과 일치하지 않을 수도 있습니다. 예를 들어 Content-Type이 업로더에 의해 지정되지 않고 확인이 불가능한 경우 객체를 업로드한 방법에 따라 application/octet-stream 또는 application/x-www-form-urlencoded로 설정됩니다. 유효한 콘텐츠 유형 목록은 IANA 미디어 유형 페이지를 참조하세요.

커스텀 메타데이터

맞춤 메타데이터는 추가하고 제거할 수 있는 메타데이터입니다. 커스텀 메타데이터를 만들려면 값과 키를 모두 지정합니다. 커스텀 메타데이터 key:value 쌍을 만든 후 키를 삭제하거나 값을 변경할 수 있습니다.

메타데이터 보기 및 수정 페이지에는 커스텀 메타데이터 설정과 관련된 정보가 들어 있습니다. 커스텀 메타데이터를 사용하면 스토리지 및 네트워크 비용이 발생합니다.

수정할 수 없는 메타데이터

일부 메타데이터는 직접 수정할 수 없습니다. 이러한 메타데이터는 객체를 만들거나 재작성할 때 설정됩니다. 객체를 만들거나 재작성하는 과정에서 이러한 메타데이터(예: 객체의 스토리지 클래스고객 제공 암호화 키)를 설정할 수 있습니다. 객체의 세대 번호나 생성 시간과 같은 기타 메타데이터는 자동으로 추가되며 보기만 가능합니다.