Classic/VPC 환경에서 이용 가능합니다.
지정한 파일 또는 디렉터리를 컨테이너(버킷)에 업로드합니다.
--segment-size로 분할 업로드하면 세그먼트는 매니페스트와 별도의 컨테이너에 저장됩니다. --segment-container를 입력하지 않으면 <container>_segments 컨테이너가 자동으로 생성됩니다. 다운로드는 매니페스트를 업로드한 컨테이너에서 수행합니다.
구문
upload 구문은 다음과 같습니다.
swift upload \
<container> \
<file-or-directory> \
[--object-name <object-name>] \
[--segment-size <size>] \
[--segment-container <container>] \
[--use-slo] \
[--use-dlo] \
[--leave-segments] \
[--changed] \
[--skip-identical] \
[--skip-container-put] \
[--ignore-checksum] \
[--object-threads <threads>] \
[--segment-threads <threads>] \
[--meta <name:value>] \
[--header <header:value>]
옵션
upload 실행 시 지정할 수 있는 옵션을 설명합니다.
필수 옵션
upload의 필수 옵션입니다.
| 옵션 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
<container> |
String | Required | 컨테이너 이름 |
<file-or-directory> |
List | Required | 파일 또는 디렉터리 경로
|
선택 옵션
upload의 선택 옵션입니다. 지정하지 않은 옵션에는 기본값이 적용됩니다.
| 옵션 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
--object-name |
String | Optional | 오브젝트 이름
|
--segment-size |
Integer | Optional | 분할 업로드할 세그먼트 크기 (Byte)
|
--segment-container |
String | Optional | 세그먼트를 업로드할 컨테이너 이름
|
--use-slo |
Boolean | Optional | --segment-size와 함께 사용 시 Static Large Object 생성
|
--use-dlo |
Boolean | Optional | --segment-size와 함께 사용 시 Dynamic Large Object 생성 |
--leave-segments |
Boolean | Optional | 덮어쓰기 시 이전 매니페스트 오브젝트의 세그먼트 유지 |
--changed |
Boolean | Optional | 마지막 업로드 이후 변경된 파일만 업로드 |
--skip-identical |
Boolean | Optional | 로컬 파일과 오브젝트가 동일한 경우, 업로드하지 않음 |
--skip-container-put |
Boolean | Optional | 컨테이너가 이미 존재한다고 가정하고 자동 생성하지 않음 |
--ignore-checksum |
Boolean | Optional | 업로드 시 체크섬 검증 비활성화 |
--object-threads |
Integer | Optional | 오브젝트 업로드에 사용할 스레드 수
|
--segment-threads |
Integer | Optional | 세그먼트 업로드에 사용할 스레드 수
|
--meta |
String | Optional | 메타데이터 항목
|
--header |
String | Optional | 업로드 요청에 사용할 사용자 정의 헤더
|
공통 옵션
swift 명령에서 공통으로 사용하는 옵션에 대한 정보는 Archive Storage 옵션을 참조해 주십시오.
예시
업로드 요청이 성공하면 업로드된 오브젝트 이름이 출력됩니다.
명령
파일 하나를 업로드하는 명령 예시는 다음과 같습니다.
swift upload test-container-01 sample.txt
디렉터리 전체를 업로드하는 명령 예시는 다음과 같습니다.
swift upload test-container-01 docs
대용량 파일을 세그먼트로 나누어 별도 컨테이너에 업로드하는 명령 예시는 다음과 같습니다.
swift upload test-container-01 large.bin \
--segment-size 1048576 \
--segment-container test-segments-01
오브젝트 이름을 지정하고 메타데이터를 함께 설정하는 명령 예시는 다음과 같습니다.
swift upload test-container-01 sample.txt \
--object-name renamed.txt \
--meta Purpose:Documentation
출력
파일 하나를 업로드하는 출력 예시는 다음과 같습니다.
sample.txt
디렉터리 전체를 업로드하는 출력 예시는 다음과 같습니다.
docs/report.txt
대용량 파일을 세그먼트로 나누어 업로드하는 출력 예시는 다음과 같습니다.
large.bin segment 4
large.bin segment 2
large.bin segment 0
large.bin segment 3
large.bin segment 1
large.bin
오브젝트 이름을 지정하고 메타데이터를 함께 설정하여 업로드하는 출력 예시는 다음과 같습니다.
renamed.txt