Я использую s3cmd для загрузки файлов на свой сервер S3. Моя проблема в том, что когда каталог на сервере не существует, загрузка не выполняется. Как я могу сказать s3cmd создать папку, если она не существует? Я использую PHP.
Создание папки через s3cmd (Amazon S3)
Ответы (3)
Я считаю, вам следует попробовать что-то вроде s3cmd put file.jpg s3://bucket/folder/file.jpg
.
В S3 нет концепции каталогов, все folder/file.jpg
- это имя файла. Если вы используете инструмент с графическим интерфейсом или что-то еще, вы удалите файл file.jpg из папки, вы, скорее всего, увидите, что папка тоже исчезла. Визуальное представление в виде каталогов для удобства пользователя.
Вот как создать папку s3cmd put foobar s3: // bucket_name / new_directory /
для проверки - s3cmd la
Если вы не хотите выгружать файл, вы можете скопировать специальный объект $ folder $, который инструменты s3 создают для пометки папок:
s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'
который создает «дочернюю» «папку».
Вместо этого проще загружать что-то в дочернее местоположение:
s3cmd put dummy s3://bucket/parent/child/dummy
Кажется, что Hive требует, чтобы при создании внешней таблицы существовал полный путь S3. Вот почему я смотрю на этот вопрос :)