Python Boto3 更新/覆盖 S3 存储桶中的对象

use*_*968 10 python amazon-s3 amazon-web-services boto3

我找不到用于更新/覆盖 Amazon S3 存储桶中的对象的 Python 源代码示例。

这可能吗?

Joh*_*tts 15

来自文档:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object

如果您想覆盖该对象,只需上传具有相同名称的文件,如果该名称已存在,则会自动完成。

额外注意:如果您想保留对象的所有历史版本,请在存储桶上启用版本控制。


Ric*_*ard 8

正如另一个答案中提到的,如果您推送具有相同名称的文件,它将覆盖它,为了完整起见,这里是使用 boto3 的实际实现

\n
import boto3 \n\ns3 = boto3.resource(\xe2\x80\x98s3\xe2\x80\x99)\n\ntry:\n  s3.upload_file(file_path, bucket, key)\nexcept ClientError as e:\n  print("Error")\n
Run Code Online (Sandbox Code Playgroud)\n