Скачать файл / папку из Publi c AWS S3 с Python, без учетных данных - PullRequest
6 голосов
/ 29 мая 2020

Я открыл publi c доступ к корзине S3, и мне нужно загрузить файлы / папки с файлами из корзины, используя python. Хитрость в том, что я не хочу предоставлять учетные данные (которые, по-видимому, требуются для boto3). Возможно ли это вообще?

1 Ответ

3 голосов
/ 29 мая 2020

Вы можете использовать GetObject из S3 REST API вместе с библиотекой Requests в Python. Если вы предоставите доступ READ анонимному пользователю, вы можете вернуть объект без использования заголовка авторизации.

Пример такого вызова S3 REST ::

> GET /example-object HTTP/1.1
> Host: example-bucket.s3.<Region>.amazonaws.com    

Python ( примерный пример):

import requests
url = '/example-object'
headers = {'Host': 'example-bucket.s3.<Region>.amazonaws.com'}
r = requests.get(url, headers=headers)

Запросы

GetObject

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