반응형
로컬에서 여러 파일을 S3에 업로드하고자 와일드카드(*)를 사용하여 cp 명령어를 시도하니 Unknown options 에러가 발생하였다.
확인해보니 aws cli를 사용하여 S3로 여러 파일을 업로드하려면 recursive 및 include, exclude 필터를 사용해주어야 한다. (UNIX 스타일의 와일드카드 사용은 지원되지 않는다.)
recursive를 사용하면 지정된 디렉토리 또는 접두사 아래의 모든 파일 및 객체에 대해 명령이 수행된다.
이 때, exclude 옵션이 include 옵션보다 우선해야 정상적으로 동작하는데
exclude 파라미터로 먼저 모든 파일을 선택하고 include 파라미터를 사용하여 copy를 원하는 객체의 특정 문자를 포함하는 파일만 추출하여 업로드하는 형태가 된다.
$ aws s3 cp [source(로컬 디렉토리 경로)] [target(s3 url)] --recursive --exclude "*" --include "image-*"
여기서는 "image-"를 포함하는 파일만 S3로 업로드해보도록 한다.
$ aws s3 cp /Users/squirrel/Desktop/Images s3://test-s3-squirrel/cp-test/ --recursive --exclude "*" --include "image-*"
upload: ./image-1.jpg to s3://test-s3-squirrel/cp-test/image-1.jpg
upload: ./image-4.jpg to s3://test-s3-squirrel/cp-test/image-4.jpg
upload: ./image-2.jpg to s3://test-s3-squirrel/cp-test/image-2.jpg
upload: ./image-3.png to s3://test-s3-squirrel/cp-test/image-3.png
아래와 같이 test-s3-squirrel 버킷의 cp-test 폴더 안에 "image-*"에 해당하는 파일만 업로드 된 것을 확인할 수 있다.
현재 작업 디렉토리에서 Amazon S3 버킷으로 단일 파일을 복사하기 위한 aws cp 명령어는 아래와 같다.
$ aws s3 cp <source> <target> [--options]
$ aws s3 cp filename.txt s3://bucket-name
[참고 링크]
[1] https://docs.aws.amazon.com/cli/latest/reference/s3/
[2] https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html
반응형
'[AWS] > AWS 활용' 카테고리의 다른 글
[AWS] [활용] Amazon S3에 원격 백업하기 / Sync (0) | 2022.05.25 |
---|---|
[AWS] [활용] HTTPS와 SSL이 무엇인가, ACM 발급 받는 방법 (0) | 2022.05.25 |
[AWS][활용] PC 파일을 AWS S3 버킷으로 백업하기 (0) | 2022.05.25 |
[AWS] [활용] 배치 파일에서 시(hour)를 두 자리로 표시하기 (0) | 2022.05.24 |
[AWS] [활용] CMD 및 PowerShell 사용하여 파일과 폴더 삭제!! (0) | 2022.05.19 |
[AWS] [활용] S3 버전관리 활성화 (0) | 2022.05.18 |
[AWS] [활용] S3 수명 주기로 데이터 수명 주기 간소화 & 비용 최적화!! (0) | 2022.05.18 |
[AWS] [활용] NACL(네트워크 액세스 제어 목록) (0) | 2022.05.17 |
댓글