簡體   English   中英

使用 Python/boto3 更新 S3 存儲桶中的靜態網頁

[英]Update a static webpage in S3 bucket with Python/boto3

我試圖找到另一篇關於我的問題的文章,但我失敗了。

我的最終目標是將 html 文件上傳到配置為托管靜態網頁的 S3 存儲桶中。 我試過:

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 上傳的文件同名的文件。 當我從我的文件夾手動上傳文件時,它按預期工作。 當我使用 Python 推送文件而不是顯示它時,它會如上所述下載它。

有誰之前經歷過這個嗎? 我嘗試的 2 x 函數是否不適合我需要做的工作? 您認為 S3 存儲桶上有任何配置錯誤嗎?

提前致謝,

根據評論,問題是上傳的對象不正確/缺少text/html內容類型。 解決方案是添加它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM