--- title: "PutObject" slug: "storage-archivestorage-putobject" tags: ["Archive Storage"] updated: 2026-11-06T01:14:05Z published: 2026-11-06T09:00:29Z canonical: "api-gov.ncloud-docs.com/storage-archivestorage-putobject" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # PutObject Classic/VPC 환경에서 이용 가능합니다. 오브젝트를 업로드하고 메타데이터를 생성합니다. 이미 저장된 오브젝트를 다시 업로드하면 덮어쓰기되고, 기존에 있던 메타데이터를 다시 생성하면 새로 입력한 값으로 업데이트됩니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | PUT | /v1/AUTH_{project_id}/{container}/{object} | ### 요청 헤더 헤더에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `X-Auth-Token` | String | Optional | 발급한 토큰 값 | | `X-Object-Meta-{name}` | String | Optional | 설정할 메타데이터 - `{name}` 부분에 메타데이터의 키 입력 - 헤더 값에 메타데이터 값 입력 | | `X-Object-Manifest` | String | Conditional | 대용량 오브젝트를 업로드할 경우 오브젝트(SLO)의 매니페스트 - 입력 포맷: `{container}/{prefix}` | | `X-Delete-At` | Integer | Optional | 오브젝트의 자동 삭제 예정 시각(Unix Timestamp, 초 단위) - 데이터를 일시적으로 저장하기 원할 때 사용 - 입력된 일시에 오브젝트 삭제 - 리스트에서 제거되기까지는 시간이 걸릴 수 있음 - 삭제 예약이 설정되지 않은 오브젝트에만 입력 가능하며, 설정 후 변경 및 해제 불가 | | `X-Delete-After` | Integer | Optional | 오브젝트의 자동 삭제 예정 시점(초 단위로 입력) - 데이터를 일시적으로 저장하기 원할 때 사용 - 입력한 초만큼 지난 시각이 X-Delete-At(Unix Timestamp)으로 변환되어 저장되며, 그 이후 동작은 X-Delete-At과 동일 - `X-Delete-At` 헤더와 동시 사용 시 우선순위를 가짐 - 삭제 예약이 설정되지 않은 오브젝트에만 입력 가능하며, 설정 후 변경 및 해제 불가 | | `X-Detect-Content-Type` | Boolean | Optional | 파일 확장자를 기반으로 오브젝트의 MIME 타입 자동 설정 - `true` \| `false` - `true`: MIME 타입 감지 및 자동 결정 - `false`: 자동 감지 없이 `Content-Type`에 입력된 MIME 타입으로 설정 | | `X-Copy-From` | String | Optional | 오브젝트 복사 - 입력 포맷: `{container}/{object}` - Range 헤더와 조합 가능 | | `X-Copy-From-Account` | String | Optional | 다른 계정으로 오브젝트 복사 | | `Content-Disposition` | String | Optional | 브라우저의 응답 처리 방식 | | `Content-Encoding` | String | Optional | 오브젝트의 인코딩 방식 | | `Content-Type` | String | Optional | 오브젝트의 MIME 타입 | | `Content-Length` | Integer | Optional | 오브젝트의 용량 - chunked transfer encoding을 사용하는 경우 설정 불필요 | | `Transfer-Encoding` | String | Optional | chunked transfer encoding 사용 설정 - `chunked` - 설정 시 `Content-Length` 헤더 제외 필요 | | `ETag` | String | Optional | ETag 헤더 값 | | `If-None-Match` | String | Optional | ETag 조건 헤더 - 자세한 내용은 [RFC2616](https://www.ietf.org/rfc/rfc2616.txt)에서 확인 | ### 요청 경로 파라미터 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `project_id` | String | Required | 프로젝트 ID - 프로젝트 ID 확인 방법은 [Archive Storage 개요](/docs/storage-archivestorage#%EC%9D%B8%EC%A6%9D) 참조 | | `container` | String | Required | 대상 오브젝트가 저장될 컨테이너 이름 | | `object` | String | Required | 저장할 오브젝트 이름 | ### 요청 쿼리 파라미터 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `temp_url_sig` | String | Optioanl | 저장할 리소스에 접근할 수 있는 임시 URL의 서명 - 승인된 요청임을 검증 | | `temp_url_expires` | Integer | Optioanl | 저장할 리소스에 접근할 수 있는 임시 URL의 만료 시간(Unix Timestamp) | | `multipart-manifest` | String | Conditional | 대용량 오브젝트의 멀티파트 업로드 선언 - 값으로 `put`을 입력하면 멀티파트 업로드로 인식되어 파트를 한 파일로 조합하도록 서버에 지시 - 요청 바디에 파트 조합에 대한 매니페스트를 작성해야 함 | | `extract-archive` | String | Optional | 압축된 파일 업로드 - 값으로 압축 해제할 파일 확장자 입력 - 압축 파일 안의 각 파일이 {object} 경로 아래에 오브젝트로 저장됨 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl -L -X PUT 'https://kr.archive.gov-ncloudstorage.com/v1/AUTH_{project_id}/{container}/{object}' \ -H 'X-Auth-Token: {token}' \ -H 'X-Object-Meta-collection: C1' \ -H 'X-Detect-Content-Type: true' \ -T '@{/FILE_PATH/OBJECT}' ``` ## 응답 응답 형식을 설명합니다. ### 응답 헤더 헤더에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `Content-Type` | String | - | 응답 결과의 MIME 타입 | | `Content-Length` | String | - | 응답 결과의 길이(Byte) | | `ETag` | String | - | ETag 헤더 값 | | `Last-Modified` | String | - | 오브젝트의 가장 최근 수정 시간(UTC) | | `X-Trans-Id` | String | - | 해당 요청의 트랜잭션 ID | | `X-Openstack-Request-Id` | String | - | 해당 요청의 트랜잭션 ID - `X-Trans-Id`와 동일 | | `Date` | String | - | 해당 요청의 응답 시간(UTC) | ### 응답 상태 코드 응답 상태 코드에 대한 설명은 다음과 같습니다. | HTTP 상태 코드 | 코드 | 메시지 | 설명 | | --- | --- | --- | --- | | 201 | - | Created | 요청 성공 | | 408 | - | Request Timeout | 요청 타임아웃 | ### 응답 예시 응답 예시는 다음과 같습니다. ``` HTTP/1.1 201 Created Last-Modified: Mon, 17 Sep 2018 07:36:47 GMT Content-Length: 0 Etag: 95444a08aec383972a52eaaac43e6dce Content-Type: text/html; charset=UTF-8 X-Trans-Id: txe5ad93db05334b1cb44d2-005b9f598e X-Openstack-Request-Id: txe5ad93db05334b1cb44d2-005b9f598e Date: Mon, 17 Sep 2018 07:36:46 GMT ```