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

Загрузка папки с подпапками с помощью S3 и консоли AWS

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

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

Возможно ли это?

4b9b3361

Ответ 1

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

http://console.aws.amazon.com/s3

Ответ 2

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

s3cmd --configure   # enter access keys, enable HTTPS, etc.
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/

Ответ 3

Очень легко использовать AWS CLI

    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

Ответ 4

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

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

Ответ 5

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

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

Перетаскивание

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

введите описание изображения здесь

Ответ 6

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

Если вы не знаете, как сделать эффективную запись из терминала, посмотрите здесь для OSX.

И $ zip -r archive_name.zip folder_to_compress для Windows. В качестве альтернативы клиенту, например 7-Zip, будет достаточно для пользователей Windows

Ответ 7

Я не вижу здесь ответов Python. Вы можете загружать папку script с помощью 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 )

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

Ответ 8

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

Ответ 10

Вы не можете загружать вложенные структуры, например, через онлайн-инструмент. Я бы рекомендовал использовать что-то вроде Bucket Explorer для более сложных загрузок.