객체 업로드

XML API를 사용하여 객체를 업로드하려면 버킷 이름과 객체 이름으로 범위가 지정된 PUT 요청을 만들고 객체 데이터를 요청 본문에 삽입합니다. 업로드된 객체는 이름이 같은 기존 객체를 대체합니다. Cloud Storage에 업로드하는 방법에 관한 팁은 권장사항을 참조하세요. XML API와 같은 도구를 사용한 간단한 업로드 빠른 가이드는 객체 업로드를 참조하세요.

PUT 객체 요청은 여러 표준 HTTP 헤더를 사용합니다. Content-Length는 객체의 크기를 바이트 단위로 지정하며 청크 분할 전송 인코딩을 사용하지 않는 한 필요합니다. 선택적 헤더에는 Content-Type, Content-MD5, 아래 나열된 헤더가 포함됩니다. Cloud Storage는 이러한 헤더를 객체 메타데이터의 일부로 저장합니다. 단, Cloud Storage에서 데이터 무결성을 확인하는 데 사용하는 Content-MD5은 예외입니다. 객체의 메타데이터 값 변경에 대한 자세한 내용은 객체 메타데이터 수정을 참조하세요.

기존 객체의 storage class를 변경하려면 PUT 객체 요청을 사용해야 합니다. 이를 위해 기존 객체를 다시 작성해야 하기 때문입니다. 요청에는 x-goog-storage-class 요청 헤더뿐만 아니라 요청 본문의 객체도 삭제됩니다.

에 관심을 가져 주셔서 감사합니다.

쿼리 문자열 매개변수

이 요청에는 일반적으로 쿼리 문자열 매개변수가 포함되지 않습니다.

서명된 URL을 만들고 사용할 때 포함되는 매개변수에 대한 정보는 서명된 URL 쿼리 문자열 매개변수를 참조하세요.

요청 헤더

공통 요청 헤더 외에도 다음을 사용할 수 있습니다.

헤더 설명 필수
Cache-Control 공개적으로 액세스 가능한 객체를 캐시해야 하는 조건입니다. Cache-Control은 객체의 변환 가능 여부도 판단하는 데 사용됩니다. 없음
Content-Disposition 객체 데이터가 전송되는 방식에 관한 프레젠테이션 정보를 지정하는 헤더입니다. 없음
Content-Encoding 업로드할 객체를 압축하는 데 사용된 압축 알고리즘입니다. 없음
Content-Language 콘텐츠의 ISO 639-1 언어 코드입니다. 없음
x-goog-acl 객체에 적용할 사전 정의된 ACL입니다. 없음
x-goog-custom-time 사용자가 지정한 날짜 및 시간. 없음
x-goog-encryption-kms-key-name 객체를 암호화하는 데 사용할 고객 관리 암호화 키입니다. 없음
x-goog-meta- 커스텀 메타데이터를 저장하는 데 사용할 수 있는 확장 헤더입니다. 없음
x-goog-storage-class 유효한 스토리지 클래스 없음

객체 업로드와 함께 고객 제공 암호화 키를 제공하려면 요청에 고객 제공 암호화 키 페이지에 나열된 헤더를 사용합니다.

요청 본문 요소

요청 본문에는 데이터가 포함됩니다.

요청 구문

다음 구문은 쿼리 문자열 매개변수를 사용하지 않고 x-goog-copy-source 요청 헤더를 제외하는 PUT 객체 요청에 적용됩니다.

PUT /OBJECT_NAME HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Content-MD5: MD5_DIGEST
Authorization: AUTHENTICATION_STRING
x-goog-storage-class: STORAGE_CLASS

응답 헤더

이 요청은 사용 중인 요청 헤더에 따라 다양한 응답 헤더를 반환할 수 있습니다.

응답 본문 요소

응답의 응답 본문에 XML 문서가 없습니다.

다음 샘플에서는 paris.jpg라는 객체를 travel-maps라는 버킷에 업로드합니다.

요청

PUT /paris.jpg HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Sat, 20 Feb 2010 16:31:08 GMT
Content-Type: image/jpg
Content-MD5: iB94gawbwUSiZy5FuruIOQ==
Content-Length: 554
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

응답

HTTP/1.1 200 OK
ETag: "881f7881ac1bc144a2672e45babb8839"
Date: Sat, 20 Feb 2010 16:31:09 GMT
Content-Length: 0
Content-Type: text/html

일반 오류 코드

존재하지 않는 버킷에 객체를 업로드하려고 하면 404 Not Found 상태 코드가 표시되고 오류 응답 본문의 NoSuchBucketCode 요소.

제공된 MD5 다이제스트가 잘못된 경우 400 Bad Request 상태 코드가 표시되고 오류 응답 본문에 Code 요소에 InvalidDigest가 포함됩니다.

다이제스트가 Google이 본문에서 계산하는 다이제스트와 일치하지 않으면 400 잘못된 요청 오류 코드 및 오류 응답 본문에는 BadDigest 안에Code 요소