Programing

AWS S3 CLI를 사용하여 BASH의 stdout에 파일을 덤프하는 방법은 무엇입니까?

lottogame 2020. 10. 10. 09:29
반응형

AWS S3 CLI를 사용하여 BASH의 stdout에 파일을 덤프하는 방법은 무엇입니까?


S3 ( ls 명령에 지정된대로)에서 경로를 사용하고 모든 파일 객체의 내용을 .NET Framework에 덤프 하는 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

아하!

https://pypi.python.org/pypi/s3cat/1.0.8

길이 요구 사항을 충족시키기 위해 더 많은 문자를 쓰고 있습니다.


BASH를 사용하여이 작업을 수행하려면 AWS 명령 줄 인터페이스 (CLI) 와 같은 외부 앱을 호출해야합니다 . CAT에 해당하는 파일이 없으므로 파일을 로컬로 복사 한 다음 CAT을 사용해야합니다.

또는 Python, PHP, Java와 같은 언어로 제공되는 AWS SDK를 직접 호출하는 앱을 사용 / 작성할 수 있습니다. SDK를 사용하여 파일 내용을 메모리 내에서 검색 한 다음 stdout으로 보낼 수 있습니다.

참고 URL : https://stackoverflow.com/questions/28330907/how-to-use-aws-s3-cli-to-dump-files-to-stdout-in-bash

반응형