你可以使用AWS SDK for Python(也称为Boto3)来上传一个可公开读取的对象到AWS S3。以下是一个示例代码:
import boto3
# 创建S3客户端
s3 = boto3.client('s3')
# 上传一个文件到S3桶
bucket_name = 'your-bucket-name'
file_path = 'path/to/your/file.txt'
object_name = 'file.txt'
# 设置对象的访问权限为公开读取
extra_args = {
'ACL': 'public-read'
}
# 上传文件
s3.upload_file(file_path, bucket_name, object_name, ExtraArgs=extra_args)
# 获取公开访问URL
url = f"https://{bucket_name}.s3.amazonaws.com/{object_name}"
print(f"文件已上传并且可以通过以下URL公开访问:\n{url}")
请注意,以上代码假设你已经正确配置了AWS CLI,并且安装了Boto3库。在使用之前,你需要将your-bucket-name替换为你的S3桶的名称,将path/to/your/file.txt替换为你要上传的文件的路径和名称,以及将file.txt替换为你想要在S3桶中创建的对象的名称。
在上传时,我们将ACL参数设置为public-read,这将使上传的对象具有公开读取的权限。