Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

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

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

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

Ответ 3

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

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