Загрузите папку с подпапками, используя S3 и консоль AWS - PullRequest
56 голосов
/ 26 февраля 2011

Когда я пытаюсь загрузить папку с подпапками в S3 через консоль AWS, загружаются только файлы, а не подпапки.

Вы также не можете выбрать папку.Прежде чем вы сможете что-либо выбрать, всегда требуется открыть папку.

Возможно ли это вообще?

Ответы [ 13 ]

81 голосов
/ 12 января 2017

Я предлагаю вам использовать AWS CLI. Как это очень легко с помощью командной строки и awscli

    aws s3 cp SOURCE_DIR s3://DEST_BUCKET/ --recursive

или вы можете использовать синхронизацию

    aws s3 sync SOURCE_DIR s3://DEST_BUCKET/

Помните, что вам нужно установить aws cli и настроить его, используя идентификатор ключа доступа и идентификатор секретного ключа доступа

     pip install --upgrade --user awscli   
     aws configure
48 голосов
/ 23 июня 2015

Вам не нужен Enhanced Uploader (который, как я считаю, больше не существует) или какое-либо стороннее программное обеспечение (всегда есть риск, что кто-то украдет ваши личные данные или ключи доступа из корзины S3 или даже из всех ресурсов AWS),

Поскольку новый менеджер загрузки веб-приложений AWS S3 поддерживает drag'n'drop для файлов и папок , просто войдите в систему https://console.aws.amazon.com/s3/home и начните процесс загрузкикак обычно, просто перетащите папку со своего рабочего стола прямо на страницу S3.Если вы загружаете конфиденциальные личные данные, убедитесь, что страница, с которой вы работаете, начинается с протокола https: //.

39 голосов
/ 12 мая 2011

Консоль Amazon S3 теперь поддерживает загрузку целых иерархий папок.Включите Ehanced Uploader в диалоговом окне «Загрузка», а затем добавьте одну или несколько папок в очередь загрузки.

31 голосов
/ 21 января 2013

Обычно я использую Enhanced Uploader , доступный через консоль управления AWS. Однако, поскольку это требует Java, это может вызвать проблемы. Я нашел s3cmd отличной заменой командной строки. Вот как я это использовал:

s3cmd --configure   # enter access keys, enable HTTPS, etc.
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/
5 голосов
/ 01 сентября 2017

У меня возникла проблема с поиском расширенного инструмента загрузки для загрузки папок и вложенных папок внутри него в S3.Но вместо того, чтобы найти инструмент, я мог бы загрузить папки вместе с подпапками внутри него, просто перетащив их в корзину S3.

Примечание. Эта функция перетаскивания не работает в Safari .Я проверил его в Chrome, и он работает просто отлично.

Drag and drop

После перетаскивания файлов и папок этот экран открывается, наконец, для загрузки содержимого.

enter image description here

0 голосов
/ 04 октября 2018

Вы можете загружать файлы, перетаскивая или указывая или щелкая.Чтобы загрузить папки, вы должны перетащить их.Функция перетаскивания поддерживается только для браузеров Chrome и Firefox

0 голосов
/ 28 июня 2018

Вы можете использовать Transfer Manager для загрузки нескольких файлов, каталогов и т. Д. Более подробная информация о:

https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-transfermanager.html

0 голосов
/ 26 июня 2018

Вы можете перетаскивать эти папки.Функция перетаскивания поддерживается только для браузеров Chrome и Firefox .Пожалуйста, обратитесь по этой ссылке https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html

0 голосов
/ 19 мая 2017

Я оказался здесь, когда пытался понять это.С версией, которая есть прямо сейчас, вы можете перетащить в нее папку, и она работает, даже если она не позволяет выбрать папку при открытии диалога загрузки.

0 голосов
/ 17 марта 2017

Я не вижу здесь ответов на Python.Вы можете отсканировать загрузку папки с помощью Python / boto3.Вот как рекурсивно получить все имена файлов из дерева каталогов:

def recursive_glob(treeroot, extention):
    results = [os.path.join(dirpath, f)
        for dirpath, dirnames, files in os.walk(treeroot)
        for f in files if f.endswith(extention)]
    return results

Вот как загрузить файл в S3 с помощью Python / boto:

k = Key(bucket)
k.key = s3_key_name
k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr )

Я использовал эти идеи для записи Каталог-Uploader-For-S3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...