首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用Python操作S3云存储

使用Python操作S3云存储

原创
作者头像
JQ实验室
修改2025-08-19 10:37:58
修改2025-08-19 10:37:58
2470
举报
文章被收录于专栏:都到8月了都到8月了

最常用的方法是通过Boto3库,这是官方提供的Python SDK。

安装Boto3

首先,你需要安装Boto3。可以通过pip来安装:

代码语言:bash
复制
pip install boto3

配置AWS凭证

在使用Boto3之前,你需要配置你的AWS凭证。你可以通过以下几种方式之一来设置:

  • 使用aws configure命令通过AWS CLI配置。
  • 在环境变量中设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  • 在你的代码中直接指定凭证(不推荐用于生产环境)。
  • 使用AWS凭证实例元数据(如果你的应用程序运行在EC2实例上)。

基本操作示例

上传文件到S3
代码语言:python
复制
import boto3

# 创建一个S3客户端
s3_client = boto3.client('s3')

# 上传文件
with open("your-file-path", "rb") as data:
    s3_client.upload_fileobj(data, "your-bucket-name", "your-object-key")
下载文件
代码语言:python
复制
# 下载文件
s3_client.download_file('your-bucket-name', 'your-object-key', '/path/to/save/file')
列出桶中的对象
代码语言:python
复制
response = s3_client.list_objects_v2(Bucket='your-bucket-name')

for obj in response['Contents']:
    print(obj['Key'])
删除对象
代码语言:python
复制
s3_client.delete_object(Bucket='your-bucket-name', Key='your-object-key')

使用资源接口

除了客户端接口,Boto3还提供了更高层次的资源接口,它允许以更直观的方式与AWS服务交互。

代码语言:python
复制
s3_resource = boto3.resource('s3')

# 上传文件
s3_resource.Bucket('your-bucket-name').upload_file('your-file-path', 'your-object-key')

# 下载文件
s3_resource.Bucket('your-bucket-name').download_file('your-object-key', '/path/to/save/file')

以上就是使用Python操作S3的一些基本示例。Boto3非常强大,支持几乎所有S3的功能,包括但不限于版本控制、预签名URL生成、生命周期策略管理等。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Boto3
  • 配置AWS凭证
  • 基本操作示例
    • 上传文件到S3
    • 下载文件
    • 列出桶中的对象
    • 删除对象
  • 使用资源接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档