Как создать папку под ведром с помощью boto
библиотеки для Amazon s3?
Я следовал руководству и создал ключи с разрешениями, метаданными и т. Д., Но нигде в документации boto не описывается, как создавать папки в ведре или создавать папку в папках в ведре.
Ответы:
В S3 нет концепции папок или каталогов. Вы можете создавать имена файлов, например
"abc/xys/uvw/123.jpg"
, которые многие инструменты доступа S3, например,S3Fox
отображают как структуру каталогов, но на самом деле это всего лишь один файл в корзине.источник
Предположим, вы хотите создать папку abc / 123 / в своем ведре, с Boto это проще простого.
Или используйте консоль
источник
new_key()
это все, что вам нужно. Строка, отправляемая в функцию, может бытьabc/123/
илиabc/123/newfile.txt
. Что вы предпочитаете. Мне нравится заключать это в оператор if после того, как я попытаюсь получить то, что, я надеюсь, есть, вот так:key = bucket.get_key(upgrade_path) if key is None: key = bucket.new_key(upgrade_path)
По сути, если его нет, создайте его!mp = self._bucket.initiate_multipart_upload(bucket_key)
С AWS SDK .Net отлично работает, просто добавьте «/» в конец строки имени папки:
Затем обновите консоль AWS, и вы увидите папку
источник
Использовать это:
источник
Добавьте "_ $ folder $" к имени вашей папки и вызовите put.
см. http://www.snowgiraffe.com/tech/147/creating-folders-programmatically-with-amazon-s3s-api-putting-babies-in-buckets/
источник
Создавать папки действительно легко. На самом деле это просто создание ключей.
Вы можете увидеть мой код ниже, я создавал папку с именем utc_time.
Помните, что конец ключа заканчивается на '/', как показано ниже, это означает, что это ключ:
Ключ = 'folder1 /' + utc_time + '/'
источник
Обновление на 2019 год, если вы хотите создать папку с путем bucket_name / folder1 / folder2, вы можете использовать этот код:
источник
Хотя вы можете создать папку, добавив "/" к вашему имени папки. Под капотом S3 сохраняет плоскую структуру в отличие от вашего обычного NFS.
источник
Пробовал многие методы выше и добавление косой черты
/
в конец имени ключа, чтобы создать каталог, у меня не сработало:Вы должны указать
Body
параметр для создания каталога:Источник: ryantuck в выпуске boto3
источник
S3 не имеет структуры папок, но есть что-то, что называется ключами.
Мы можем создать,
/2013/11/xyz.xls
и это будет отображаться как папка в консоли. Но хранилище S3 примет это как имя файла.Даже при извлечении мы замечаем, что можем видеть файлы в определенной папке (или ключах), используя
ListObjects
метод иPrefix
параметр.источник
Судя по всему, теперь вы можете создавать папки в S3. Не знаю, с каких пор, но у меня есть корзина в зоне «Стандартная», и я могу выбрать «Создать папку» в раскрывающемся списке «Действие».
источник