Documentation Index

Fetch the complete documentation index at: https://cli.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

put-object

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

Ncloud Storage에 객체를 저장합니다.

명령어

명령어 구문은 다음과 같습니다.

aws s3api put-object --bucket <value> --key <value> [--options]
참고

단일 PUT 작업으로 최대 5GB 크기의 객체를 업로드할 수 있습니다. 5GB 이상의 큰 파일은 멀티파트 업로드를 통해 업로드할 수 있습니다.

파라미터

파라미터에 대한 설명은 다음과 같습니다.

파라미터 타입 필수 여부 설명 제약 사항
--bucket <value> string Y 객체를 저장할 버킷 -
--endpoint-url <value> string Y 명령 호출의 기본 URL 지정 kr 리전만 가능, 호출 도메인 정보는 Ncloud Storage 개요 참고
--key <value> string Y 업로드할 객체의 이름(key값) -
--body <value> string N 객체 데이터 업로드할 객체의 경로 또는 파일
--cache-control <value> string N 캐싱 동작 설정 -
--content-disposition <value> string N 객체에 대한 표현 정보 지정 -
--content-encoding <value> string N 콘텐츠 인코딩 설정 -
--content-language <value> string N 콘텐츠 언어 설정 -
--content-length <value> long N body의 크기(바이트) -
--content-md5 <value> string N 업로드한 객체의 128비트 암호화 해시값의 Base64 인코딩 값 -
--content-type <value> string N 명시적인 콘텐츠 유형 정의 -
--metadata <value> string N 객체와 함께 저장할 메타데이터 설정 -
--storage-class <value> string N 객체를 저장할 스토리지 클래스 지정 선택 가능한 옵션
  • STANDARD
  • DEEP_ARCHIVE
  • * Default는 Standard 클래스에 저장
--cli-input-json | --cli-input-yaml string N 제공한 json 또는 yaml 문자열에서 인수 입력 json과 yaml을 함께 지정 불가
--generate-cli-skeleton <value> integer N API 명령을 실행하지 않고 이후에 input으로 사용할 수 있는 파라미터 템플릿 생성 -
--debug boolean N 디버그 로깅 사용 -
--no-verify-ssl boolean N SSL 인증서를 검증하는 기본 동작 재정의 -
--no-paginate boolean N 자동 pagination 비활성화, 결과에 대해 첫 번째 페이지 한 번만 호출됨 -
--output <value> string N 응답값의 포맷 지정 선택한 가능한 옵션
  • json
  • text
  • table
  • yaml
  • yaml-stream
--query <value> string N 응답 데이터를 필터링하는 데 사용할 JMESPath 쿼리 -
--profile <value> string N 자격 증명 파일에서 특정 profile 사용 -
--region <value> string N 리전 지정 kr만 지원
--color <value> string N output color 설정 선택한 가능한 옵션
  • on
  • off
  • auto
--no-sign-request boolean N 자격 증명 로드 비활성화 -
--ca-bundle <value> string N SSL 인증서를 확인할 때 사용할 CA 인증서 지정 -
--cli-read-timeout <value> int N 최대 읽기 시간, 0으로 입력시 타임아웃이 아닌 차단 상태로 변경됨 default는 60초로 설정
--cli-connect-timeout <value> int N 최대 연결 시간, 0으로 입력시 타임아웃이 아닌 차단 상태로 변경됨 default는 60초로 설정
--no-cli-pager boolean N 응답값의 cli pager 비활성화 -
--cli-auto-prompt boolean N CLI 입력 파라미터 자동 프롬프트 설정 -
--no-cli-auto-prompt boolean N CLI 입력 파라미터 자동 프롬프트 비활성화 -
--server-side-encryption string N 서버 측 암호화 방식 선택 가능한 옵션
  • AES256
  • aws:kms
--sse-customer-algorithm string N 사용자 암호화 알고리즘 (AES256) -
--sse-customer-key string N 사용자 제공 암호화 키 -
--sse-customer-key-md5 string N 사용자 제공 암호화 키의 MD5 값 -
--object-lock-mode <value> string N 객체 보존 모드 지정 선택 가능한 옵션
  • GOVERNANCE
  • COMPLIANCE
--object-lock-retain-until-date와 함께 지정, Object Lock이 활성화된 버킷에서만 사용 가능
--object-lock-retain-until-date <value> timestamp N 객체 보존 만료일 지정 ISO 8601 형식, --object-lock-mode와 함께 지정, Object Lock이 활성화된 버킷에서만 사용 가능
--object-lock-legal-hold-status <value> string N 법적 보존 상태 지정 선택 가능한 옵션
  • ON
  • OFF
Object Lock이 활성화된 버킷에서만 사용 가능

권한

Subaccount 사용자가 이 명령어를 사용하려면 Change/PutObject 액션 권한이 필요합니다.

특정 오류 코드

put-object 명령어 호출 시 발생할 수 있는 오류 코드는 다음과 같습니다.

오류 코드 HTTP Status 설명
EntityTooLarge 400 객체 크기가 단일 PUT 업로드 상한(5GB)을 초과했습니다.
InvalidStorageClass 400 지원하지 않는 스토리지 클래스(--storage-class)를 지정했습니다.
KeyTooLongError 400 객체 이름(--key)이 최대 길이를 초과했습니다.
BadDigest 400 지정한 --content-md5 값이 실제 객체 데이터와 일치하지 않습니다.
InvalidArgument 400 Object Lock 관련 파라미터 값이 올바르지 않습니다. --object-lock-mode--object-lock-retain-until-date 중 하나만 지정했거나, 모드 값이 잘못되었거나, 만료일이 ISO 8601 형식이 아니거나 미래 시점이 아니거나, --object-lock-legal-hold-statusON/OFF가 아닌 경우입니다.
InvalidRequest 400 Object Lock이 활성화되지 않은 버킷에 Object Lock 파라미터를 지정했습니다.

예시

put-object 명령어의 호출과 응답 예시를 설명합니다.

객체 업로드

호출 예시

객체를 저장할 버킷을 지정하고 업로드할 객체를 --body로 지정하여 명령어를 호출하면 Ncloud Storage에 객체를 업로드할 수 있습니다. 스토리지 클래스를 지정하지 않으면 Standard Class에 저장됩니다. 호출 예시는 다음과 같습니다.

aws s3api put-object --bucket bucket-a --endpoint-url=https://kr.ncloudstorage.com --key img/image.png --body image.png

응답 예시

응답 예시는 다음과 같습니다.

{
    "ETag": "\"12345678a25bc72de9fg3094h1f30ij6\""
}

버전 관리가 설정된 버킷의 Deep Archive Class에 객체 업로드

호출 예시

객체를 저장할 스토리지 클래스를 명시하여 명령어를 호출하면 해당 클래스에 객체가 저장됩니다. 호출 예시는 다음과 같습니다.

aws s3api put-object --bucket bucket-a --endpoint-url=https://kr.ncloudstorage.com --key img/image2.png --body image2.png --storage-class DEEP_ARCHIVE

응답 예시

응답 예시는 다음과 같습니다.

{
    "ETag": "\"a2b370952633c9d9ef503abcd8b460bb\"",
    "VersionId": "4d784abc-0941-11f0-954d-d4f5ef94c2b0"
}

연관 명령어

연관 명령어는 다음과 같습니다.