Когда я пытаюсь загрузить папку с подпапками на S3 через консоль AWS, загружаются только файлы, а не подпапки.
Вы также не можете выбрать папку. Всегда нужно сначала открыть папку, прежде чем вы сможете выбрать что-либо.
Возможно ли это?
Когда я пытаюсь загрузить папку с подпапками на S3 через консоль AWS, загружаются только файлы, а не подпапки.
Вы также не можете выбрать папку. Всегда нужно сначала открыть папку, прежде чем вы сможете выбрать что-либо.
Возможно ли это?
Консоль Amazon S3 теперь поддерживает загрузку целых иерархий папок. Включите Ehanced Uploader в диалоговом окне "Загрузка", а затем добавьте одну или несколько папок в очередь загрузки.
Обычно я использую Enhanced Uploader, доступный через консоль управления AWS. Однако, поскольку для этого требуется Java, это может вызвать проблемы. Я нашел s3cmd отличную замену командной строки. Вот как я его использовал:
s3cmd --configure # enter access keys, enable HTTPS, etc.
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/
Очень легко использовать 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
Вам не нужен Enhanced Uploader (который, как я полагаю, больше не существует) или какое-либо программное обеспечение сторонних разработчиков (которому всегда угрожает, что кто-то украдет ваши личные данные или ключи доступа из ведра S3 или даже из всех ресурсов AWS),
Поскольку новый менеджер загрузки веб-сайтов AWS S3 поддерживает drag'n'drop для файлов и папок, просто войдите в https://console.aws.amazon.com/s3/home и начать процесс загрузки, как обычно, а затем просто перетащите папку со своего рабочего стола прямо на страницу S3. Если вы загружаете конфиденциальные личные данные, убедитесь, что страница, с которой вы работаете, начинается с протокола https://.
У меня возникла проблема с поиском расширенного инструмента для загрузки для загрузки папки и подпапок внутри нее в S3. Но вместо того, чтобы находить инструмент, я мог бы загружать папки вместе с подпапками внутри него, просто перетаскивая их в ведро S3.
Примечание. Эта функция перетаскивания не работает в Safari. Я тестировал его в Chrome, и он работает нормально.
После перетаскивания файлов и папок этот экран открывается, наконец, для загрузки содержимого.
Стоит отметить, что если вы просто используете S3 для резервного копирования, вы должны просто застегнуть папку и загрузить ее. Это позволит сэкономить время и затраты на загрузку.
Если вы не знаете, как сделать эффективную запись из терминала, посмотрите здесь для OSX.
И $ zip -r archive_name.zip folder_to_compress
для Windows.
В качестве альтернативы клиенту, например 7-Zip, будет достаточно для пользователей Windows
Я не вижу здесь ответов 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
Я оказался здесь, пытаясь понять это. С той версией, что там прямо сейчас, вы можете перетащить в нее папку, и она работает, даже если она не позволяет вам выбирать папку при открытии диалога загрузки.
Рассмотрите возможность использования бесплатного ПО CloudBerry Explorer, чтобы загрузить полную структуру папок в Amazon S3.
Вы не можете загружать вложенные структуры, например, через онлайн-инструмент. Я бы рекомендовал использовать что-то вроде Bucket Explorer для более сложных загрузок.