web-dev-qa-db-fra.com

Existe-t-il un moyen d'obtenir s3 uri à partir de la console Web aws?

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!

31
keisuke

(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.

8
keisuke

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.

41
John Rotenstein

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.

2
Antti Haapala

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
0
enharmonic