Je veux télécharger n répertoire à partir de mon s3.
Quand j’ai besoin de n fichier, la console de gestion s3 (console Web d’aws) me permet de le télécharger, mais quand n répertoire, je dois utiliser aws -cli, comme:
$ aws s3 cp s3://mybucket/mydirectory/ . --recursive
Ma question est la suivante: existe-t-il un moyen d’obtenir le s3 uri (s3://mybucket/mydirectory/
) depuis la console de gestion s3?
Son URL est disponible, mais elle diffère légèrement de l'URI s3 requis par aws-cli. Je n'ai trouvé aucun menu pour obtenir l'uri.
Merci d'avance!
(auto-réponse)
Parce qu'il semble qu'il n'y en ait pas eu, j'ai créé n :
pip install aws-s3-url2uri
Et commande aws_s3_url2uri
sera disponible après l'installation.
Cette commande convertit en interne les URL de la console Web en URI S3. Elle fonctionne donc avec les URL, les URI et les chemins locaux:
aws_s3_url2uri ls "https://console.aws.Amazon.com/s3/home?region=<regionname>#&bucket=mybucket&prefix=mydir/mydir2/"
appels
aws s3 ls s3://mybucket/mydir/mydir2/
intérieurement.
Non, il n'est pas affiché dans la console. Cependant, c'est simplement:
s3://<bucket-name>/<key>
Les répertoires font en fait partie de key
. Par exemple, foo.jpg
stocké dans un répertoire images
aura en fait une clé (nom de fichier) de images/foo.jpg
.
Il est possible d’obtenir le S3-URI pour un clé/fichier dans la console, en sélectionnant la clé et en cliquant sur le bouton de la souris. Copy path bouton, cela placera le s3-URI du fichier dans le presse-papier.
Cependant, les répertoires ne sont pas des clés en tant que telles, mais juste des préfixes de clés. Cela ne fonctionnera donc pas pour eux.
Pour convertir une URL S3 affichée dans la console, telle que https://s3.us-east-2.amazonaws.com/my-bucket-name/filename
à un U3 S3, supprimez le https://s3.us-east-2.amazonaws.com/
portion et remplacez-la par s3://
, ainsi:
s3://my-bucket-name/filename