`aws` CLI를 사용하여 AWS S3에서 반복적으로 객체 검색 및 다운로드
이런 종류의 장기 저장에 대한 나의 선택은 AWS S3 또는 Glacier 입니다. 드라이브를 bucket에 백업하고 지금까지 잊고 있었습니다.
aws
CLI는 모든 AWS 서비스에 대해 웹 콘솔이 할 수 있는 모든 작업을 수행할 수 있다는 점에서 강력하지만 이해하기 어렵습니다.파일은 Sibelius(
.sib
)와 Clarinet, Flute 및 Sax에서 가져왔습니다. aws s3 list-objects
command 에 대해 인터넷 검색을 해보세요.검색어를
--query
parameter에 결합하여 list-objects
호출의 결과를 제한할 수 있습니다. 검색은 대소문자를 구분하며 파일 이름이 원래 어떻게 지정되었는지 확신할 수 없었기 때문에 다음을 검색했습니다.--query "Contents[?(contains(Key,'larinet') || contains(Key,'lute') || contains(Key,'ax')) && contains(Key,'.sib')]
Clarinet
또는 clarinet
등을 찾을 수 있는 가장 좋은 기회를 주기 위해 (CLARINET
라는 이름은 좋지 않지만 어떤 종류의 괴물이 그렇게 할까요?)get-object
호출을 위해 S3 객체에 대한 경로만 필요하므로 다음 항목만 필터링하겠습니다.aws s3api list-objects --bucket "my-bucket-name" --prefix 'path/to/files/' --query "Contents[?(contains(Key,'larinet') || contains(Key,'lute') || contains(Key,'ax')) && contains(Key,'.sib')]"
이것은 다음과 같은 json 객체의 배열을 제공합니다.
[
{
"Key": "path/to/files/Project backup/Clarinets/example.sib",
"LastModified": "2017-09-18T21:01:19+00:00",
"ETag": "\"e9abc61fab413ec5de1126e7ab48ac38\"",
"Size": 226180,
"StorageClass": "STANDARD",
"Owner": {
"DisplayName": "owner-name",
"ID": "d9fc4a52c54711ec9d640242ac120002f54ce640c54711ec9d640242ac120002"
}
},
...,
...,
]
그런 다음 이를 반복하여 파일을 다운로드할 수 있습니다. 하나의 디렉토리에 모두 덤프하는 대신 저장된 경로 구조를 복제해 보겠습니다.
# Get the list of objects to download - note that the Key search is case sensitive
# hence using larinet instead of clarinet or Clarinet, etc
aws s3api list-objects --bucket "my-bucket-name" --prefix 'path/to/files/' --query "Contents[?(contains(Key,'larinet') || contains(Key,'lute') || contains(Key,'ax')) && contains(Key,'.sib')]" > files.json
# loop through the list, grabbing each object, putting it in the relevant folder
cat files.json | jq -r '.[] | .Key'| while read key
do dir="$(dirname "$key")"
file="$(basename "$key")"
mkdir -p "$dir"
aws s3api get-object --bucket "my-bucket-name" --key "$key" "${dir}"/"${file}"
done
Reference
이 문제에 관하여(`aws` CLI를 사용하여 AWS S3에서 반복적으로 객체 검색 및 다운로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jaygooby/recursively-searching-and-downloading-objects-from-aws-s3-with-the-aws-cli-4f7k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)