Загрузка файлов с именем, содержащим косую черту, в корзину AWS S3 - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь загрузить некоторые файлы в свое хранилище на S3 через boto3 на Python.

Эти имена файлов являются адресами веб-сайтов (например, www.google.com/gmail).

Я хочу, чтобы именем файла был адрес веб-сайта, но на самом деле он создает папку с именем "www.google.com" и внутри загруженного файла с именем "gmail"

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

Есть ли способ игнорировать косую черту и загрузить файл, имя которого является адресом веб-сайта?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

S3 имеет плоскую структуру без папок. «Папки», которые вы видите, - это функция консоли AWS, упрощающая навигацию по вашим объектам. Консоль будет группировать объекты в «папке» на основе префикса перед косой чертой (если он есть).

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

См .: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html

0 голосов
/ 24 января 2019

Вы неправильно понимаете S3 - у него фактически нет структуры "папок".Каждый объект в корзине имеет уникальный ключ, и доступ к объекту осуществляется с помощью этого ключа.

Некоторые утилиты S3 (в том числе и для консоли AWS) подделывают структуру «папок», но это не такслишком важно, как работает S3.

Или, другими словами, не беспокойтесь об этом.Просто создайте объект с ключом /, и все будет работать так, как вы ожидаете.

...