11장. Object Storage 명령줄 클라이언트
swift 클라이언트는 OpenStack Object Storage API 및 해당 확장의 CLI(명령줄 인터페이스)입니다. 이 장에서는 swift 버전
2.6.0 을 문서화합니다.
특정 swift 명령에 대한 도움말을 보려면 다음을 입력합니다.
swift COMMAND --help
$ swift COMMAND --help
11.1. swift usage 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift [--version] [--help] [--os-help] [--snet] [--verbose] [--debug] [--info] [--quiet] [--auth <auth_url>] [--auth-version <auth_version>] [--user <username>] [--key <api_key>] [--retries <num_retries>] [--os-username <auth-user-name>] [--os-password <auth-password>] [--os-user-id <auth-user-id>] [--os-user-domain-id <auth-user-domain-id>] [--os-user-domain-name <auth-user-domain-name>] [--os-tenant-id <auth-tenant-id>] [--os-tenant-name <auth-tenant-name>] [--os-project-id <auth-project-id>] [--os-project-name <auth-project-name>] [--os-project-domain-id <auth-project-domain-id>] [--os-project-domain-name <auth-project-domain-name>] [--os-auth-url <auth-url>] [--os-auth-token <auth-token>] [--os-storage-url <storage-url>] [--os-region-name <region-name>] [--os-service-type <service-type>] [--os-endpoint-type <endpoint-type>] [--os-cacert <ca-certificate>] [--insecure] [--no-ssl-compression] <subcommand> [--help] [<subcommand options>]
Usage: swift [--version] [--help] [--os-help] [--snet] [--verbose] [--debug] [--info] [--quiet] [--auth <auth_url>] [--auth-version <auth_version>] [--user <username>] [--key <api_key>] [--retries <num_retries>] [--os-username <auth-user-name>] [--os-password <auth-password>] [--os-user-id <auth-user-id>] [--os-user-domain-id <auth-user-domain-id>] [--os-user-domain-name <auth-user-domain-name>] [--os-tenant-id <auth-tenant-id>] [--os-tenant-name <auth-tenant-name>] [--os-project-id <auth-project-id>] [--os-project-name <auth-project-name>] [--os-project-domain-id <auth-project-domain-id>] [--os-project-domain-name <auth-project-domain-name>] [--os-auth-url <auth-url>] [--os-auth-token <auth-token>] [--os-storage-url <storage-url>] [--os-region-name <region-name>] [--os-service-type <service-type>] [--os-endpoint-type <endpoint-type>] [--os-cacert <ca-certificate>] [--insecure] [--no-ssl-compression] <subcommand> [--help] [<subcommand options>]
하위 명령
- 삭제
- 컨테이너 내의 컨테이너 또는 오브젝트를 삭제합니다.
- 다운로드
- 컨테이너에서 오브젝트를 다운로드합니다.
- list
- 계정 또는 컨테이너의 오브젝트 컨테이너를 나열합니다.
- POST
- 계정, 컨테이너 또는 오브젝트의 메타 정보를 업데이트하고 없는 경우 컨테이너를 생성합니다.
- 통계
- 계정, 컨테이너 또는 오브젝트에 대한 정보를 표시합니다.
- 업로드
- 지정된 컨테이너에 파일 또는 디렉터리를 업로드합니다.
- capabilities
- 클러스터 기능을 나열합니다.
- tempurl
- 임시 URL을 생성합니다.
- auth
- 인증 관련 환경 변수를 표시합니다.
11.2. Swift 예제 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
swift download --help swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key stat -v swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \ --os-username user --os-password password list swift --os-auth-url https://api.example.com/v3 --auth-version 3\ --os-project-name project1 --os-project-domain-name domain1 \ --os-username user --os-user-domain-name domain1 \ --os-password password list swift --os-auth-url https://api.example.com/v3 --auth-version 3\ --os-project-id 0123456789abcdef0123456789abcdef \ --os-user-id abcdef0123456789abcdef0123456789 \ --os-password password list swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \ --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \ list swift list --lh
swift download --help swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key stat -v swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \ --os-username user --os-password password list swift --os-auth-url https://api.example.com/v3 --auth-version 3\ --os-project-name project1 --os-project-domain-name domain1 \ --os-username user --os-user-domain-name domain1 \ --os-password password list swift --os-auth-url https://api.example.com/v3 --auth-version 3\ --os-project-id 0123456789abcdef0123456789abcdef \ --os-user-id abcdef0123456789abcdef0123456789 \ --os-password password list swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \ --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \ list swift list --lh
11.3. Swift 선택적 인수 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
- --version
- 프로그램의 버전 번호를 표시하고 종료합니다.
- -h, --help
- 이 도움말 메시지를 표시하고 종료합니다.
- --os-help
- OpenStack 인증 옵션을 표시합니다.
- -s, --snet
- SERVICENET 내부 네트워크를 사용합니다.
- -v, --verbose
- 더 많은 정보를 인쇄합니다.
- --debug
- 결과 상태와 관계없이 모든 http 쿼리의 curl 명령 및 결과를 표시합니다.
- --info
- 오류를 반환하는 모든 http 쿼리의 curl 명령 및 결과를 표시합니다.
- -q, --quiet
- 상태 출력을 비활성화합니다.
- -A AUTH, --auth=AUTH URL
- 인증 토큰을 가져오는 경우입니다.
- -V AUTH_VERSION, --auth-version=AUTH_VERSION
- 인증 버전을 지정합니다. 기본값은 1.0입니다.
- -U USER, --user=USER
- 인증 토큰을 가져오는 사용자 이름입니다.
- -K KEY, --key=KEY
- 인증 토큰을 가져오는 키입니다.
- -R RETRIES, --retries=RETRIES
- 실패한 연결을 다시 시도하는 횟수입니다.
- --insecure
- SSL 인증서를 확인하지 않고도 swiftclient가 서버에 액세스하도록 허용합니다. 기본값은
env[SWIFTCLIENT_INSECURE]입니다( 'true'로 설정)를 활성화합니다. - --no-ssl-compression
- 이 옵션은 더 이상 사용되지 않으며 더 이상 사용되지 않습니다. SSL 압축은 시스템 SSL 라이브러리에서 기본적으로 비활성화해야 합니다.
11.4. Swift 인증 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift auth
Usage: swift auth
인증 관련 인증 변수를 쉘 친숙한 형식으로 표시합니다.
- OS_STORAGE_URL 및 OS_AUTH_TOKEN으로 스토리지 URL 및 인증 토큰을 내보내기 위해 실행하는 명령:
swift auth
swift authCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 자동 인증을 위해 runcom 파일(예:
~/.bashrc,/etc/profile)에 추가할 명령: swift auth -v -U test:tester -K testing -A http://localhost:8080/auth/v1.0
swift auth -v -U test:tester -K testing -A http://localhost:8080/auth/v1.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.5. Swift 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift capabilities
Usage: swift capabilities
프록시의 기능을 검색합니다.
선택적 위치 인수
- <proxy_url>
- 기능을 검색하기 위한 클러스터의 프록시 URL입니다.
11.6. swift delete 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift delete
Usage: swift delete
컨테이너 내의 컨테이너 또는 오브젝트를 삭제합니다.
위치 인수
- <container>
- 삭제할 컨테이너의 이름입니다.
- [object]
- 삭제할 오브젝트의 이름입니다. 여러 오브젝트에 대해 여러 번 지정합니다.
선택적 인수
- -a, --all
- 모든 컨테이너 및 오브젝트를 삭제합니다.
- --leave-segments
- 매니페스트 오브젝트의 세그먼트를 삭제하지 마십시오.
- --object-threads <threads>
- 오브젝트 삭제에 사용할 스레드 수입니다. 기본값은 10입니다.
- --container-threads <threads>
- 컨테이너 삭제에 사용할 스레드 수입니다. 기본값은 10입니다.
11.7. Swift 다운로드 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift download
Usage: swift download
컨테이너에서 오브젝트를 다운로드합니다.
위치 인수
- <container>
- 다운로드할 컨테이너의 이름입니다. 전체 계정을 다운로드하려면 이 항목을 생략하고 --all을 지정합니다.
- <object>
- 다운로드할 오브젝트의 이름입니다. 여러 오브젝트에 대해 여러 번 지정합니다. 이를 생략하여 컨테이너에서 모든 오브젝트를 다운로드합니다.
선택적 인수
- -a, --all
- 계정의 모든 항목을 실제로 다운로드하려는 것을 나타냅니다.
- -m, --marker
- 컨테이너 또는 계정 다운로드를 시작할 때 사용할 마커입니다.
- -p, --prefix <prefix>
- <prefix>로 시작하는 항목만 다운로드
- -r, --remove-prefix
- prefix <prefix>의 선택적 플래그는 이 옵션을 사용하여 <prefix> 없이 항목을 다운로드합니다.
- -o, --output <out_file>
- 단일 파일 다운로드의 경우 출력을 <out_file>로 스트리밍합니다. "-"를 <out_file>로 지정하면 stdout으로 리디렉션됩니다.
- -D, --output-dir <out_directory>
- 오브젝트를 저장할 선택적 디렉터리입니다. 기본적으로 모든 오브젝트는 현재 디렉터리에서 다시 생성됩니다.
- --object-threads <threads>
- 오브젝트를 다운로드하는 데 사용할 스레드 수입니다. 기본값은 10입니다.
- --container-threads <threads>
- 컨테이너를 다운로드하는 데 사용할 스레드 수입니다. 기본값은 10입니다.
- --no-download
- 다운로드를 수행하지만 실제로 디스크에 아무것도 쓰지 않습니다.
- -h, --header <header:value>
- "Range" 또는 "If-Match"와 같이 쿼리에 사용자 지정된 요청 헤더를 추가합니다. 이 옵션은 반복될 수 있습니다. 예제 --header "content-type:text/plain"
- --skip-identical
- 양쪽에서 동일한 파일 다운로드를 건너뜁니다.
- --no-shuffle
- 기본적으로 전체 계정 또는 컨테이너를 다운로드할 때 여러 클라이언트가 동시에 실행되는 경우 개별 드라이브의 부하를 줄이기 위해 동일한 오브젝트 세트(예: 야간 자동화된 다운로드 스크립트)를 여러 서버에 다운로드하기 위해 다운로드 순서가 임의로 조정됩니다. 오브젝트 저장소에 나열된 순서대로 다운로드 작업을 스레드 풀에 제출하려면 이 옵션을 사용합니다.
11.8. Swift 목록 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift list
Usage: swift list
계정 또는 컨테이너의 오브젝트 컨테이너를 나열합니다.
위치 인수
- [container]
- 오브젝트를 나열할 컨테이너의 이름입니다.
선택적 인수
- -l, --long
- ls -l과 유사하게 긴 목록 형식입니다.
- --lh
- 사용자가 읽을 수 있는 형식의 보고서 크기 ls -lh.
- -t, --totals
- -l 또는 --lh와 함께 사용하면 합계만 보고합니다.
- -p, --prefix
- 접두사로 시작하는 항목만 나열합니다.
- -d, --delimiter
- 지정된 구분 기호를 사용하여 항목을 롤업합니다. 컨테이너의 경우 OpenStack Swift API 설명서를 참조하십시오.
11.9. Swift 게시 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift post
Usage: swift post
계정, 컨테이너 또는 오브젝트의 메타 정보를 업데이트합니다. 컨테이너를 찾을 수 없는 경우 자동으로 생성됩니다.
위치 인수
- [container]
- 게시할 컨테이너의 이름입니다.
- [object]
- 게시할 오브젝트의 이름입니다.
선택적 인수
- -r, --read-acl <acl>
- 컨테이너에 대한 ACL을 읽습니다. ACL 구문에 대한 빠른 요약: .r:*, .r:-.example.com, .r:www.example.com, account1, account2:user2
- -w, --write-acl <acl>
- 컨테이너에 대한 ACL을 작성합니다. ACL 구문에 대한 빠른 요약: account1 account2:user2
- -t, --sync-to <sync-to>
- 멀티 클러스터 복제를 위해 컨테이너를 동기화합니다.
- -k, --sync-key <sync-key>
- 멀티 클러스터 복제를 위한 컨테이너의 동기화 키입니다.
- -m, --meta <name:value>
- 메타 데이터 항목을 설정합니다. 이 옵션은 반복될 수 있습니다. 예: -m color:Blue -m Size:Large
- -h, --header <header:value>
- 사용자 지정 요청 헤더를 추가합니다. 이 옵션은 반복될 수 있습니다. 예 -h "content-type:text/plain" -H "Content-Length: 4000"
11.10. Swift 통계 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift stat
Usage: swift stat
계정, 컨테이너 또는 오브젝트에 대한 정보를 표시합니다.
위치 인수
- [container]
- 통계할 컨테이너의 이름입니다.
- [object]
- 통계할 오브젝트의 이름입니다.
선택적 인수
- --lh
- 사용자가 읽을 수 있는 형식의 보고서 크기 ls -lh.
11.11. Swift tempurl 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift tempurl
Usage: swift tempurl
Swift 오브젝트에 대한 임시 URL을 생성합니다.
위치 인수
- <method>
- 이 임시 URL을 허용하는 HTTP 방법입니다. 일반적으로 'GET' 또는 'PUT'입니다.
- <seconds>
- 임시 URL이 유효한 시간(초)입니다. 또는 --absolute가 전달되는 경우 임시 URL이 만료될 때 Unix 타임스탬프가 표시됩니다.
- <path>
- Swift 오브젝트의 전체 경로입니다. 예: /v1/AUTH_account/c/o.
- <key>
- Swift 클러스터에 설정된 시크릿 임시 URL 키입니다. 키를 설정하려면 'swift post -m "Temp-URL-Key:b3968d0207b54ece87cc06515a89d4"를 실행하십시오.
선택적 인수
- --absolute
- 향후 몇 초가 아닌 Unix 타임 스탬프로 <seconds> 위치 인수를 사용합니다.
11.12. Swift 업로드 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Usage: swift upload
Usage: swift upload
지정된 파일과 디렉터리를 지정된 컨테이너에 업로드합니다.
위치 인수
- <container>
- 업로드할 컨테이너의 이름입니다.
- <file_or_directory>
- 업로드할 파일 또는 디렉터리의 이름입니다. 여러 번 업로드에 대해 여러 번 지정합니다.
선택적 인수
- -c, --changed
- 마지막 업로드 이후 변경된 파일만 업로드합니다.
- --skip-identical
- 양쪽에서 동일한 파일 업로드를 건너뜁니다.
- -S, --segment-size <size>
- 세그먼트에 <size>보다 큰 파일을 업로드한 다음 원래 파일처럼 모든 세그먼트를 다운로드할 "manifest" 파일을 만듭니다.
- --segment-container <container>
- 지정된 컨테이너에 세그먼트를 업로드합니다. 지정하지 않으면 기본 <container> 목록을 폴링하지 않도록 세그먼트가 <container>_segments 컨테이너에 업로드됩니다.
- --leave-segments
- 매니페스트 오브젝트의 이전 세그먼트가 단독으로 남아 있어야 함을 나타냅니다(덮어쓰기의 경우).
- --object-threads <threads>
- 전체 오브젝트를 업로드하는 데 사용할 스레드 수입니다. 기본값은 10입니다.
- --segment-threads <threads>
- 오브젝트 세그먼트를 업로드하는 데 사용할 스레드 수입니다. 기본값은 10입니다.
- -h, --header <header:value>
- 사용자 지정 요청 헤더를 추가합니다. 이 옵션은 반복될 수 있습니다. 예 -h "content-type:text/plain" -H "Content-Length: 4000".
- --use-slo
- --segment-size와 함께 사용하면 기본 Dynamic Large Object 대신 정적 Large Object를 만듭니다.
- --object-name <object-name>
- 파일 및 이름 오브젝트를 <object-name>에 업로드하거나 dir을 업로드하고 폴더 이름 대신 <object-name>을 오브젝트 접두사로 사용합니다.
- --ignore-checksum
- 업로드에 대한 체크섬 유효성 검사를 끕니다.