Консоль Amazon S3: загрузка сразу нескольких файлов
Когда я захожу на консоль S3, я не могу загрузить несколько выбранных файлов (веб-интерфейс позволяет загружать только когда выбран один файл):
https://console.aws.amazon.com/s3
Это что-то, что можно изменить в политике пользователя или это ограничение Amazon?
Ответы
Ответ 1
Это невозможно через веб-интерфейс пользователя.
Но это очень простая задача, если вы устанавливаете AWS CLI.
Вы можете проверить шаги по установке и настройке при установке в Интерфейс командной строки AWS
После этого перейдите в cmd.
Тип:
aws s3 cp "S3 PATH" "LOCAL PATH" --recursive
Не используйте двойные кавычки.
Это скопирует все файлы с данного пути S3 к указанному локальному пути.
Ответ 2
Если вы используете AWS CLI, вы можете использовать exclude
вместе с --include
и --recursive
для достижения этой цели.
aws s3 cp s3://path/to/bucket/ . --recursive --exclude "*" --include "things_you_want"
Например.
--exclude "*" --include "*.txt"
загрузит все файлы с расширением .txt. Более подробная информация - https://docs.aws.amazon.com/cli/latest/reference/s3/
Ответ 3
Выделив группу файлов и нажав Actions-> Открыть, открыли каждый на вкладке браузера, и они сразу же начали загружаться (по 6 за раз).
![Screenshot]()
Ответ 4
У службы S3 нет значимых ограничений на одновременную загрузку (возможно, доступно несколько сотен загрузок за один раз), и для этого нет никаких параметров политики... но консоль S3 позволяет вам выбрать один файл для загрузки на время.
Как только загрузка начнется, вы можете запустить другую и другую, так же, как ваш браузер позволит вам выполнить одновременно.
Ответ 5
Я считаю, что это ограничение веб-интерфейса консоли AWS, попробовав (и не получив) сделать это сам.
В качестве альтернативы, возможно, используйте сторонний браузер S3, такой как http://s3browser.com/
Ответ 6
Также, если вы работаете в Windows (tm), WinSCP теперь позволяет перетаскивать выбор нескольких файлов. Включая подпапки.
На многих корпоративных рабочих станциях установлен WinSCP для редактирования файлов на серверах с помощью SSH.
Я не аффилирован, я просто думаю, что это действительно стоило сделать.
Ответ 7
Вы также можете использовать CyberDuck. Он хорошо работает с S3, и вы можете скачать папку.
Ответ 8
Я написал простой сценарий оболочки для загрузки НЕ ПРОСТО всех файлов, а также всех версий каждого файла из определенной папки в AWS s3 bucket. Вот оно, и вы можете найти это полезным
# Script generates the version info file for all the
# content under a particular bucket and then parses
# the file to grab the versionId for each of the versions
# and finally generates a fully qualified http url for
# the different versioned files and use that to download
# the content.
s3region="s3.ap-south-1.amazonaws.com"
bucket="your_bucket_name"
# note the location has no forward slash at beginning or at end
location="data/that/you/want/to/download"
# file names were like ABB-quarterly-results.csv, AVANTIFEED--quarterly-results.csv
fileNamePattern="-quarterly-results.csv"
# AWS CLI command to get version info
content="$(aws s3api list-object-versions --bucket $bucket --prefix "$location/")"
#save the file locally, if you want
echo "$content" >> version-info.json
versions=$(echo "$content" | grep -ir VersionId | awk -F ":" '{gsub(/"/, "", $3);gsub(/,/, "", $3);gsub(/ /, "", $3);print $3 }')
for version in $versions
do
echo ############### $fileId ###################
#echo $version
url="https://$s3region/$bucket/$location/$fileId$fileNamePattern?versionId=$version"
echo $url
content="$(curl -s "$url")"
echo "$content" >> $fileId$fileNamePattern-$version.csv
echo ############### $i ###################
done
Ответ 9
Если кто-то все еще ищет браузер и загрузчик S3, я только что попробовал Fillezilla Pro (это платная версия). Это работало отлично.
Я создал соединение с S3 с ключом доступа и секретным ключом, настроенным через IAM. Подключение было мгновенным, и загрузка всех папок и файлов была быстрой.
Ответ 10
Если у вас установлена Visual Studio с установленным расширением AWS Explorer, вы также можете перейти к Amazon S3 (шаг 1), выбрать корзину (шаг 2), выбрать все файлы, которые вы хотите загрузить (шаг 3), и щелкнуть правой кнопкой мыши, чтобы загрузить их. все (шаг 4).
![enter image description here]()
Ответ 11
Также вы можете использовать --include "filename"
много раз в одной команде, каждый раз включая разные имена файлов в двойных кавычках, например
aws s3 mycommand --include "file1" --include "file2"
Это сэкономит ваше время, а не будет повторять команду для загрузки одного файла за раз.