Как загрузить файл в папку в AWS S3 Bucket с помощью Python Boto3 - PullRequest
0 голосов
/ 14 октября 2018

Как получить доступ к объекту папки внутри корзины S3.Как я могу получить доступ к папке внутри S3 Bucket с помощью Python Boto3.Код работает для папки в корзине S3, но для папок внутри корзины S3

Ответы [ 3 ]

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

Если я хочу загрузить следующий каталог:

folder_root
├── a
│   └── f
├── b
│   ├── d
│   └── e
└── c
    └── x

Вы захотите загрузить отдельные файлы с именами a/f, b/d, b/e и c/x.Как говорится в другом ответе, в S3 нет концепции каталога, это «хранилище плоских объектов».Если вы хотите создать внешний вид каталогов, имена (или ключи ) файлов должны соответствовать структуре каталогов, которую вы пытаетесь создать.

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

Если я вас правильно понимаю .. У меня была эта проблема в моем скрипте python3.В основном вам нужно передать функции boto3 корзину s3 и имя файла.Сделайте так, чтобы это имя файла включало папку, а косая черта разделяла их.Вместо того, чтобы передавать только имя файла и пытаться передать папку в качестве отдельного параметра.

Итак, если у вас есть MyS3Bucket и вы хотите загрузить file.txt в MyFolder внутри MyS3Bucket, то передайте file_name=“MyFolder”+”/“+”file.txt” в качестве параметра функции загрузки.Дайте мне знать, если вам нужен фрагмент кода.

Даже если у вас нет папки в корзине S3, boto3 создаст ее для вас на лету.Это круто, потому что вы можете предоставить доступ в s3 на основе папки, а не только всей корзины одновременно.

Удачи!

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

Маленькая принципиальная информация: у S3 нет папок, это хранилище объектов.Структура, похожая на папку, которую вы видите в пользовательском интерфейсе, для удобства.

Для загрузки см. здесь

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