Lorsque je me connecte à ma console S3, je ne parviens pas à télécharger plusieurs fichiers sélectionnés (l'interface Web ne permet le téléchargement que lorsqu'un seul fichier est sélectionné):
https://console.aws.Amazon.com/s3
Est-ce quelque chose qui peut être changé dans la politique de l'utilisateur ou est-ce une limitation d'Amazon?
Cela n’est pas possible via l’interface utilisateur Web . Cependant, si vous installez AWS CLI ..__ est une tâche très simple. Vous pouvez vérifier les étapes d’installation et de configuration sous Installation dans l'interface de ligne de commande AWS .
Après cela, allez à cmd . Tapez:
aws s3 cp "S3 PATH" "LOCAL PATH" --recursive
N'utilisez pas les guillemets ..____ Cela copiera tous les fichiers d'un chemin S3 donné vers votre chemin local donné.
Si vous utilisez AWS CLI, vous pouvez utiliser les indicateurs exclude
avec --include
et --recursive
pour accomplir cela.
aws s3 cp s3://path/to/bucket/ . --recursive --exclude "*" --include "things_you_want"
Par exemple.
--exclude "*" --include "*.txt"
téléchargera tous les fichiers avec l'extension .txt. Plus de détails - https://docs.aws.Amazon.com/cli/latest/reference/s3/
Je pense que c'est une limitation de l'interface Web de la console AWS, après avoir essayé (et échoué) de le faire moi-même.
Vous pouvez également utiliser un client de navigateur S3 tiers, tel que http://s3browser.com/
Le service S3n'a pas de limites significatives pour les téléchargements simultanés (plusieurs centaines de téléchargements à la fois sont facilement possibles) et il n'y a pas de paramètre de stratégie associé à cela ... mais la console S3 console vous permet uniquement de sélectionner un fichier à télécharger à la fois.
Une fois le téléchargement démarré, vous pouvez en lancer un autre, autant que votre navigateur vous le permet.
J'ai écrit un script Shell simple pour télécharger non seulement tous les fichiers, mais également toutes les versions de chaque fichier d'un dossier spécifique sous le seau AWS s3. Le voici et vous le trouverez peut-être utile
# 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
Si quelqu'un cherche toujours un navigateur S3 et un téléchargeur, je viens d'essayer Fillezilla Pro (c'est une version payante). Cela a très bien fonctionné.
J'ai créé une connexion à S3 avec la clé d'accès et la clé secrète configurée via IAM. La connexion était instantanée et le téléchargement de tous les dossiers et fichiers était rapide.
Vous pouvez également utiliser CyberDuck. Cela fonctionne plutôt bien avec S3 et vous pouvez télécharger un dossier.