对象存储怎么通过 AWS S3 SDK 或命令行工具实现文件的上传、下载与管理

梦杰姑娘_7959

梦杰姑娘_7959

2026-10-24

163人浏览

原创

aws s3文件管理核心是存储桶与对象,需注意权限、区域、分段上传及安全;创建唯一命名存储桶并配置iam权限后,可用cli或boto3上传下载文件。

对象存储怎么通过 aws s3 sdk 或命令行工具实现文件的上传、下载与管理

用 AWS S3 SDK 或 CLI 实现文件上传、下载与管理,核心是围绕“存储桶(Bucket)”和“对象(Object)”两个概念展开。操作本身不复杂,但要注意权限、区域、分段策略和安全性这几个关键点。

创建存储桶并配置基础权限

所有对象必须存放在存储桶中。首次使用前需创建一个全局唯一名称的存储桶,并指定所在 AWS 区域:

  • CLI 命令示例:aws s3 mb s3://my-unique-bucket-name --region us-east-1
  • SDK(Python Boto3)示例:s3_client.create_bucket(Bucket='my-unique-bucket-name', CreateBucketConfiguration={'LocationConstraint': 'us-east-1'})
  • 确保 IAM 用户或角色具备 s3:CreateBucket、s3:PutObject、s3:GetObject 等必要权限,推荐附加 AmazonS3FullAccess(测试环境)或最小化策略(生产环境)

上传文件:普通上传与分段上传的选择

小文件(

  • 普通上传(CLI):aws s3 cp local-file.txt s3://my-bucket-name/path/file.txt
  • 分段上传(CLI 自动触发):aws s3 cp large-file.zip s3://my-bucket-name/ --multipart-threshold 100MB(Boto3 默认也启用)
  • SDK 中可显式控制:Boto3 的 upload_file() 会自动判断是否分段;如需精细控制,用 create_multipart_upload() + upload_part() + complete_multipart_upload()
  • 注意:分段上传后未完成的上传任务会持续计费,建议定期用 aws s3api list-multipart-uploads 检查并清理

下载与查看对象

下载支持按路径、通配符或同步整个前缀,也支持流式读取避免本地落盘:

  • 下载单个对象:aws s3 cp s3://my-bucket-name/path/file.txt ./local-file.txt
  • 同步目录(含增量):aws s3 sync s3://my-bucket-name/data/ ./data/
  • 列出对象(支持前缀过滤):aws s3 ls s3://my-bucket-name/logs/ --recursive --human-readable
  • SDK 流式读取(Python):obj = s3_client.get_object(Bucket='my-bucket', Key='data.json'); json.load(obj['Body'])

日常管理:标签、生命周期与访问控制

除基础增删改查外,S3 提供轻量但实用的元数据与策略能力:

  • 为对象添加标签(最多10对):aws s3api put-object-tagging --bucket my-bucket --key doc.pdf --tagging TagSet=[{Key=env,Value=prod},{Key=type,Value=document}]
  • 设置生命周期规则(如 90 天后转 Glacier):aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration file://lifecycle.json
  • 设置公共读(谨慎):aws s3api put-bucket-acl --bucket my-bucket --acl public-read;更安全的方式是用桶策略或预签名 URL
  • 生成临时访问链接(SDK 示例):s3_client.generate_presigned_url('get_object', Params={'Bucket': 'my-bucket', 'Key': 'report.csv'}, ExpiresIn=3600)
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
轻量应用服务器和云服务器的区别
轻量应用服务器和云服务器的区别

随着科技的快速发展,越来越多的企业和个人开始依赖于服务器来托管其应用程序和网站。然而,在选择服务器时,很多人对轻量应用服务器和云服务器之间的差异不够了解。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.27

522

3

注册云服务器的作用
注册云服务器的作用

注册云服务器的作用:1、可放置公司网站、电子商务平台、APP和其他应用程序等;2、使用云服务器来存储和共享数据,不仅高度安全,而且可以随时随地在线访问;3、当内存不够时,站长可自行增加,使资源充沛,保障了页面加载速度和优质的用户体验。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.13

3304

9

云服务器的全部用途
云服务器的全部用途

云服务器的用途广泛,包括网站托管、应用程序部署、数据存储和备份、虚拟化和容器化、大数据处理、游戏服务器以及开发测试环境等。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

12959

12

云服务器价格性价比高的服务商介绍
云服务器价格性价比高的服务商介绍

性价比较高的云服务器服务商,包括阿里云、腾讯云、亚马逊AWS和华为云。这些服务商提供丰富的产品线、亲民的价格、完善的生态体系和技术支持。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

3387

9

云服务器的使用教程
云服务器的使用教程

使用云服务器需要遵循以下步骤:选择可靠的云服务提供商,注册账号并购买所需实例,配置安全组和网络,连接到服务器,配置服务器环境,定期管理和监控服务器,优化性能和成本。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

5537

10

云服务器作用介绍
云服务器作用介绍

云服务器作为云计算的关键组成部分,广泛应用于弹性计算、数据存储处理、应用程序部署托管、灾备容灾、开发测试环境、虚拟化容器化等领域。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

1605

12

云服务器是什么
云服务器是什么

云服务器是一种在云计算环境中提供的虚拟服务器,它具有弹性、可扩展性和按需付费等特点。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.06.21

10476

7

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

20

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习