Archive Storage CLI 사용 가이드
개요
OpenStack에서 제공하는 CLI를 이용하여 네이버 클라우드 플랫폼 Archive Storage를 사용하는 방법을 설명합니다.
이 문서는 python-swiftclient 3.6.0, python-keystoneclient 3.17.0 버전을 기준으로 작성되었습니다.
설치 및 인증
설치
pip install python-keystoneclient==3.17.0
pip install python-swiftclient==3.6.0
문서 : https://docs.openstack.org/ocata/cli-reference/swift.html
인증
요청
swift --os-auth-url https://kr.archive.ncloudstorage.com:5000/v3 --auth-version 3 \
--os-username {access_key_id} --os-password {secret_key} \
--os-user-domain-id {domain_id} --os-project-id {project_id} \
auth
결과
export OS_STORAGE_URL=https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}
export OS_AUTH_TOKEN={token}
결과 값에 표시되어 있는 export 명령으로 OS_STORAGE_URL, OS_AUTH_TOKEN를 환경 변수로 선언하여 재인증없이 서비스 요청을 이용할 수 있습니다.
export OS_STORAGE_URL=https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}
export OS_AUTH_TOKEN={token}
swift list
환경 변수로 사용하지 않고 아래와 같이 –os-storage-url, –os-auth-token 옵션 값으로 입력해서 사용할 수 있습니다.
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
list
또한 서비스 URL과 토큰값을 저장해서 사용하지 않고 매 요청마다 인증하는 방식으로 사용할 수 있습니다.
(서비스 요청 전에 매번 인증 요청을 수행하기 때문에 권장하지 않습니다.)
swift --os-auth-url https://kr.archive.ncloudstorage.com:5000/v3 --auth-version 3 \
--os-username {access_key_id} --os-password {secret_key} \
--os-user-domain-id {domain_id} --os-project-id {project_id} \
list
명령어
컨테이너 목록 조회
요청
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
list
오브젝트 목록 조회
요청
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
list {container}
오브젝트 업로드
요청
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
upload {container} --object-name {object} {local_file_path}
오브젝트 삭제
오브젝트를 1개이상 입력하여 삭제합니다. –prefix 옵션을 통해 지정한 prefix로 시작하는 오브젝트를 삭제할 수 있습니다.
요청
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
delete {container} {object} [...]
요청 (prefix 옵션)
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
delete {container} --prefix {prefix}
컨테이너 삭제
컨테이너의 모든 오브젝트를 삭제하고 마지막에 컨테이너를 삭제합니다.
요청
swift --os-storage-url https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id} \
--os-auth-token {token} \
delete {container}