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.
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.
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 :)
Voici comment créer un dossier S3cmd put foobar s3: // bucket_name/new_directory /
pour vérifier - s3cmd la