Я запускаю сценарий bash, который берет путь в S3 (как указано в команде ls ) и выгружает содержимое всех файловых объектов в stdout
. По сути, я бы хотел повторить, cat /path/to/files/*
кроме S3, например s3cat '/bucket/path/to/files/*'
. Моя первая склонность при просмотре вариантов - использовать cp
команду для временного файла, а затем для cat
этого.
Кто-нибудь пробовал это или подобное, или уже есть команда, которую я не нахожу, которая это делает?
bash
amazon-web-services
amazon-s3
aws-cli
Нил С. Обремски
источник
источник
Ответы:
Вы можете сделать это, если вы перейдете
-
к месту назначения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 --version
:aws-cli/1.15.40 Python/3.6.5 Darwin/17.7.0 botocore/1.10.40
)Если вы используете версию интерфейса командной строки AWS, которая не поддерживает копирование в "-", вы также можете использовать / dev / stdout:
Вы также можете захотеть, чтобы
--quiet
флаг предотвращал добавление к вашему выводу итоговой строки, подобной следующей:источник
Вы можете попробовать использовать s3streamcat , он также поддерживает форматы bzip, gzip и xz.
Установить с помощью
sudo pip install s3streamcat
Применение:
источник
Ага!
https://pypi.python.org/pypi/s3cat/1.0.8
Я пишу больше символов, чтобы удовлетворить требованиям длины.
источник
Если вы хотите добиться этого с помощью BASH, вам придется обращаться к внешнему приложению, например к интерфейсу командной строки AWS (CLI). У него нет эквивалента CAT, поэтому вам нужно будет скопировать файл локально, а затем CAT.
В качестве альтернативы вы можете использовать / написать приложение, которое напрямую вызывает AWS SDK, который доступен для таких языков, как Python, PHP, Java. Используя SDK, содержимое файла можно получить в памяти, а затем отправить в стандартный вывод.
источник