web-dev-qa-db-fra.com

Création d'un dossier via s3cmd (Amazon S3)

J'utilise s3cmd pour télécharger des fichiers sur mon serveur S3. Mon problème est que lorsqu'un répertoire sur le serveur n'existe pas, le téléchargement échoue. Comment puis-je dire à s3cmd de créer le dossier s'il n'existe pas? J'utilise PHP.

22
John

Je crois que vous devriez essayer quelque chose comme s3cmd put file.jpg s3://bucket/folder/file.jpg.

S3 n'a pas le concept de répertoires, le folder/file.jpg entier est le nom du fichier. Si vous utilisez un outil graphique ou quelque chose dont vous supprimez le fichier.jpg à l'intérieur du dossier, vous verrez probablement que le dossier a également disparu. La représentation visuelle en termes de répertoires est pratique.

41
Sabeen Malik

Si vous ne souhaitez pas télécharger un fichier, vous pouvez copier l'objet spécial $ folder $ créé par les outils s3 pour marquer les dossiers:

s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'

qui crée un "dossier" "enfant". 

Il est moins déroutant de télécharger quelque chose dans l'emplacement de l'enfant à la place:

s3cmd put dummy s3://bucket/parent/child/dummy

Hive semble exiger que le chemin S3 complet existe lors de la création d'une table externe. C'est pourquoi je regarde cette question :)

1
iggy

Voici comment créer un dossier S3cmd put foobar s3: // bucket_name/new_directory /

pour vérifier - s3cmd la

0
Anand Kumar