Обновите веб-страницу stati c в корзине S3 с помощью Python / boto3 - PullRequest
0 голосов
/ 23 марта 2020

Я попытался найти другую статью с моим вопросом, но мне не удалось.

Моя конечная цель - загрузить файл html в корзину S3, которая настроена для размещения веб-страницы stati c. Я попытался с:

s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY,
                  aws_secret_access_key=SECRET_KEY)

s3.upload_file(local_file, bucket, s3_file) 

и

with open("index.html", "rb") as f:
   s3.upload_fileobj(f, bucket, "index.html")

При обоих подходах я успешно загрузил файл html. Тем не менее, когда я получаю доступ к URL-адресу вместо отображения файла html, он загружает его.

Я могу убедиться, что корзина S3 настроена для размещения веб-страницы и для отображения файла с таким же именем, как один я загружаю с помощью Python. Когда я загружаю файл вручную из своей папки, он работает как положено. Когда я извлекаю файл sh, используя Python вместо его отображения, он загружает его, как указано выше.

Кто-нибудь сталкивался с этим раньше? Являются ли две функции, которые я пробовал, не подходят для работы, которую я должен сделать? Как вы думаете, есть какая-то неверная конфигурация на S3 ведро?

Заранее спасибо,

1 Ответ

1 голос
/ 23 марта 2020

Судя по комментариям, проблема была некорректной / отсутствие text/html типа контента для загружаемых объектов. Решение было добавить его.

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