CLI

AWS S3에서 제공하는 CLI를 이용하여 네이버 클라우드 플랫폼[공공기관용] Object Storage를 사용하는 방법을 설명합니다.

설치

pip install awscli==1.15.85

문서 : https://pypi.org/project/awscli/1.15.85/

git: https://github.com/aws/aws-cli/tree/1.15.85

1.16.x 버전은 일부 기능을 미지원합니다. 1.15.x 버전 사용을 권장합니다.

인증정보 설정

~$ aws configure
AWS Access Key ID [****************leLy]: ACCESS_KEY_ID
AWS Secret Access Key [None]: SECRET_KEY
Default region name [None]: [Enter]
Default output format [None]: [Enter]

CLI 이용 시 --endpoint-url 옵션은 필수값입니다. 리전별 호출도메인은 네이버 클라우드 플랫폼[공공기관용] Object Storage API 소개 > 호출 도메인(Endpoint)에서 확인할 수 있습니다. CLI 도움말을 통해 보다 자세한 명령어와 옵션을 확인할 수 있습니다.

aws help
aws <command> help
aws <command> <subcommand> help

버킷 목록조회

high-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 ls

API-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3api list-buckets

오브젝트 목록조회

high-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 ls s3://<bucket_name>

API-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3api list-objects --bucket <bucket_name>

오브젝트 업로드

high-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 cp <local_file_path> s3://<bucket_name>[/<object_name>]

API-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3api put-object --bucket <bucket_name> --key <object_name> --body <local_file_path>

오브젝트 삭제

high-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 rm s3://<bucket_name>/<object_name>

API-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3api delete-object --bucket <bucket_name> --key <object_name>

버킷 삭제

high-level

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 rb s3://<bucket_name>

--force 옵션을 추가하면 비어있지 않은 버킷을 삭제할 수 있습니다. 버킷에 속해있는 오브젝트를 모두 삭제한 후 버킷을 삭제합니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 rb s3://<bucket_name> --force

API-level

API-level 에서는 비어있지 않은 버킷을 삭제할 수 없습니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3api delete-bucket --bucket <bucket_name>

동기화

동기화 기능은 high-level 명령으로만 수행할 수 있습니다. --delete 옵션을 사용하면 source에 없는 파일은 destination에서 삭제합니다.

high-level

Object Storage 의 버킷(폴더)의 모든 파일을 로컬에 동기화 합니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 sync s3://<bucket_name>[/<object_name>] <local_directory_name>

로컬 디렉토리의 모든 파일을 Object Storage 의 버킷(폴더)에 동기화 합니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 sync <local_directory_name> s3://<bucket_name>[/<object_name>]

Object Storage 의 버킷(폴더)의 모든 파일을 다른 버킷(폴더)에 동기화 합니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 sync s3://<source_bucket_name>[/<destination_object_name>] s3://<destination_bucket_name>[/<destination_object_name>]

디버깅

--debug 옵션을 사용하여 자세한 로그를 확인할 수 있습니다.

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 cp <local_file_path> s3://<bucket_name>[/<object_name>] --debug

로그 파일로 저장

aws --endpoint-url=https://kr.object.gov-ncloudstorage.com s3 cp <local_file_path> s3://<bucket_name>[/<object_name>] --debug 2> debug.log

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...