AWS S3 CLI를 사용하여 BASH에서 stdout으로 파일을 덤프하는 방법은 무엇입니까?
(ls 명령에 지정된 대로) S3의 경로를 사용하여 모든 파일 개체의 내용을 덤프하는 bash 스크립트를 시작합니다.stdout
기본적으로 복제하고 싶습니다.cat /path/to/files/*
S3를 제외하고, 예를 들어.s3cat '/bucket/path/to/files/*'
옵션을 검토하는 첫 번째 경향은 다음과 같습니다.cp
임시 파일로 명령한 다음cat
그거.
이와 유사한 방법을 사용해 본 사람이 있거나 이미 어떤 명령을 사용하는지 찾을 수 없는 명령이 있습니까?
모든 파일 개체의 내용을 stdout에 덤프합니다.
합격하면 이 일을 해낼 수 있습니다.-
의 목적지로aws s3 cp
지휘권예를들면,$ aws s3 cp s3://mybucket/stream.txt -
.
당신이 하려는 일이 이런 건가요?::
#!/bin/bash
BUCKET=YOUR-BUCKET-NAME
for key in `aws s3api list-objects --bucket $BUCKET --prefix bucket/path/to/files/ | jq -r '.Contents[].Key'`
do
echo $key
aws s3 cp s3://$BUCKET/$key - | md5sum
done
"-"로의 복사를 지원하지 않는 AWS CLI 버전을 사용하는 경우 /dev/stdout도 사용할 수 있습니다.
$ aws s3 cp --quiet s3://mybucket/stream.txt /dev/stdout
당신은 또한 원할지도 모릅니다.--quiet
플래그를 사용하여 다음과 같은 요약 행이 출력에 추가되지 않도록 합니다.
다운로드: s3://mybucket/stream.txt to .../../dev/stdout
s3streamcat을 사용해볼 수 있으며, bzip, gzip, xz 포맷도 지원합니다.
설치 대상
sudo pip install s3streamcat
용도:
s3streamcat s3://bucketname/dir/file_path
s3streamcat s3://bucketname/dir/file_path | more
s3streamcat s3://bucketname/dir/file_path | grep something
BASH를 사용하여 이 작업을 수행하려면 AWS CLI(명령줄 인터페이스)와 같은 외부 앱을 호출해야 합니다.CAT에 해당하는 파일이 없으므로 파일을 로컬로 복사한 다음 CAT해야 합니다.
또는 Python, PHP, Java와 같은 언어로 사용할 수 있는 AWS SDK를 직접 호출하는 앱을 사용/작성할 수 있습니다.SDK를 사용하면 파일 내용을 메모리 내에서 검색한 다음 stdout으로 보낼 수 있습니다.
아하!
https://pypi.python.org/pypi/s3cat/1.0.8
저는 길이 요건을 충족하기 위해 더 많은 글자를 쓰고 있습니다.
언급URL : https://stackoverflow.com/questions/28330907/how-to-use-aws-s3-cli-to-dump-files-to-stdout-in-bash
'source' 카테고리의 다른 글
모든 Git 태그를 나열하는 방법? (0) | 2023.04.26 |
---|---|
Eclipse - 라인 번호 속성이 누락되어 중단점을 설치할 수 없습니다. (0) | 2023.04.26 |
데이터 테이블 열 이름을 변경하는 방법 (0) | 2023.04.26 |
ObjectDataProvider를 통해 ComboBox를 일반 사전에 바인딩하는 방법 (0) | 2023.04.26 |
WPF에서의 이미지 동적 로드 (0) | 2023.04.21 |