2015-12-10 1 views
6

Je sais que les compartiments S3 n'ont pas vraiment de répertoires car le stockage est plat. Mais il est possible de créer des répertoires avec python/boto3, mais je ne sais pas comment. J'ai vu cela sur un documentaire:Créer des répertoires dans Amazon S3 en utilisant python, boto3

« Bien que le stockage S3 est plat: des seaux contiennent des clés, S3 permet imposez une structure d'arborescence sur votre seau en utilisant un séparateur dans vos clés Par exemple, si vous nommez un. touche 'a/b/f', et utilise '/' comme délimiteur, alors S3 considérera que 'a' est un répertoire, 'b' est un sous-répertoire de 'a', et 'f' est un fichier dans 'b'. "

Je peux créer des fichiers seulement dans le S3 un seau par:

self.client.put_object(Bucket=bucketname,Key=filename) 

, mais je ne sais pas comment créer un répertoire.

+1

La réponse est dans la citation que vous avez copiée. Avez-vous essayé de faire ce qu'ils vous disent de faire? –

Répondre

5

Il suffit d'une petite modification du nom de la clé. self.client.put_object(Bucket=bucketname,Key=filename)

cela devrait être changé pour

self.client.put_object(Bucket=bucketname,Key=directoryname/filename)

C'est tout.

8

Si vous lisez la documentation de l'API, vous devriez être capable de le faire. Honnêtement, ce n'est pas un "vrai répertoire", mais une structure de chaîne preformat pour l'organisation.