Создание папки через s3cmd (Amazon S3)

Я использую s3cmd для загрузки файлов на свой сервер S3. Моя проблема в том, что когда каталог на сервере не существует, загрузка не выполняется. Как я могу сказать s3cmd создать папку, если она не существует? Я использую PHP.


person John    schedule 01.07.2011    source источник
comment
Насколько я знаю, в s3 нет папок. Вы просто кладете все в ведро.   -  person Sabeen Malik    schedule 02.07.2011
comment
У него есть папки imageshack.us/photo/my-images/838/capturefhw .png   -  person John    schedule 02.07.2011
comment
Можете выложить файл вот так: s3cmd put file.jpg s3: // yo / folder /   -  person Colum    schedule 02.07.2011
comment
Нет, это не удается, потому что папка не существует   -  person John    schedule 02.07.2011
comment
чтобы помочь Google найти этот вопрос, если вы попытаетесь включить имя папки в команду mb, вы получите сообщение об ошибке Ожидание S3 URI с указанием только имени корзины вместо ...   -  person Adam Rabung    schedule 14.03.2014


Ответы (3)


Я считаю, вам следует попробовать что-то вроде s3cmd put file.jpg s3://bucket/folder/file.jpg.

В S3 нет концепции каталогов, все folder/file.jpg - это имя файла. Если вы используете инструмент с графическим интерфейсом или что-то еще, вы удалите файл file.jpg из папки, вы, скорее всего, увидите, что папка тоже исчезла. Визуальное представление в виде каталогов для удобства пользователя.

person Sabeen Malik    schedule 01.07.2011

Вот как создать папку s3cmd put foobar s3: // bucket_name / new_directory /

для проверки - s3cmd la

person Anand Kumar    schedule 26.01.2018

Если вы не хотите выгружать файл, вы можете скопировать специальный объект $ folder $, который инструменты s3 создают для пометки папок:

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

который создает «дочернюю» «папку».

Вместо этого проще загружать что-то в дочернее местоположение:

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

Кажется, что Hive требует, чтобы при создании внешней таблицы существовал полный путь S3. Вот почему я смотрю на этот вопрос :)

person iggy    schedule 06.03.2012