尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AWS学习与实践系列(四):Amazon S3 入门与实践
系列文章目录第一章AWS账号注册第二章IAM权限操作介绍第三章Amazon EC2介绍与实践第四章Amazon S3介绍与实践本文第五章AWS Lambda介绍与实践第六章AWS Glue介绍与实践第七章AWS数据处理联动Demo实践本系列主要记录个人学习AWS过程中的基础知识、实际操作、遇到的问题以及学习心得。随着后续学习将持续更新系列内容。文章目录系列文章目录前言一、Amazon S3 是什么二、S3 中几个重要的基本概念1.Bucket2.Object3. Object Key4. S3 中的“文件夹”三、创建我的第一个 S3 Bucket1. 进入 S3 Console2. 设置 Bucket Name3. 选择 AWS Region四、Block Public Access 设置五、创建 Bucket六、向 S3 上传第一个文件七、下载 S3 中的文件八、理解 S3 URI九、S3 Storage Class 初步认识十、S3 Versioning十一、S3 权限控制十二、删除测试 Object十三、删除测试 Bucket总结前言在上一篇中我学习并实际操作了 Amazon EC2完成了 EC2 实例创建、安全组配置以及连接测试。这一篇继续学习 AWS 中另一个非常重要、也是实际项目中经常使用的服务Amazon S3Amazon Simple Storage ServiceS3 和 EC2 的用途并不相同・EC2提供计算能力可以理解为云上的服务器・S3提供对象存储能力用于保存文件、图片、日志、数据集、备份等各种数据在我目前接触到的 AWS 数据处理场景中S3 也是非常基础的一环。后续学习Lambda、Glue、Athena 以及数据处理 Demo时都可能继续与 S3 配合使用。因此这一篇先从 S3 的基本概念开始通过实际创建 Bucket、上传文件、创建文件夹、下载和删除对象等操作熟悉 Amazon S3 的基本使用方式。一、Amazon S3 是什么Amazon S3全称Amazon Simple Storage Service它是 AWS 提供的对象存储服务Object Storage。简单来说我们可以把各种数据保存到 S3 中例如・图片・CSV・JSON・日志文件・ZIP 压缩包・文档・备份文件・数据处理过程中产生的输入/输出数据但是需要注意S3 并不能简单地理解成“云上的硬盘”。传统硬盘或 EC2 的 EBS 通常属于块存储Block Storage而 S3 属于对象存储Object Storage。在 S3 中每一个文件都会作为一个Object对象来进行管理。二、S3 中几个重要的基本概念在真正开始操作之前我先整理一下 S3 中几个最基础的概念。1.BucketBucket 可以理解为 S3 中用于保存对象的顶层容器。例如my-aws-study-bucket我们上传到 S3 中的数据都会存放在某个 Bucket 里面。例如my-aws-study-bucket ├── test.txt ├── sample.csv └── images/└── aws.png需要注意Bucket Name 有自己的命名规则而且创建 Bucket 时还需要选择 AWS Region。2.Object实际存储在 S3 中的数据称为Object对象例如上传的【test.txt】这个文件在 S3 中就是一个 Object。一个 S3 Object 不只是文件内容本身还会包含该对象相关的信息例如・Object Key・Metadata・Size・Storage Class 等3. Object KeyObject Key 可以简单理解为对象在 Bucket 中的唯一名称。例如【images/aws.png】就是这个对象的Key。4. S3 中的“文件夹”我们在 S3 Console 中会看到类似data/images/logs/看起来和 Windows、Linux 中的目录非常相似。但是从对象存储的角度来看可以把它理解为使用 Object Key 的前缀形成了类似目录的组织方式。例如data/sample.csv可以理解为Bucket └── data/└── sample.csv这也是为什么学习 S3 时需要逐渐建立 Bucket Object Key 的概念而不只是按照传统文件系统来理解它。三、创建我的第一个 S3 Bucket了解基本概念以后开始实际操作。1. 进入 S3 Console登录 AWS Management Console在搜索框中输入S3选择Amazon S3进入 S3 管理页面。然后点击Create bucket开始创建 Bucket。2. 设置 Bucket Name例如学习环境中可以使用my-aws-study-s3-xxxx我这里会给自己的学习 Bucket 设置一个容易识别的名称。注意S3 的 Bucket Name 有明确的命名规则。如果输入的名称不可用AWS Console 会给出提示。因此实际创建时按照 Console 的提示调整名称即可。3. 选择 AWS Region接下来选择 Bucket 所在的AWS Region这里我建议学习阶段先保持和前面创建 EC2 时使用的 Region 一致这样以后进行EC2 ↓ S3 ↓ Lambda这样的组合实践时也比较容易管理自己的学习资源。四、Block Public Access 设置创建 S3 Bucket 时会看到一个非常重要的设置Block Public Access settings for this bucket也就是阻止公共访问Block Public Access对于当前只是个人 AWS 学习和实验使用的 Bucket我会继续保持Block all public access开启。※如果没有明确的公开访问需求就不应该为了“方便访问”而随意将 S3 Bucket 设置为 Public。五、创建 Bucket其他暂时不需要调整的设置我先保持默认。最后点击Create bucket 完成创建。创建成功之后就可以在 Bucket 列表中看到刚刚创建的 Bucket。至此自己的第一个S3 Bucket就已经创建成功了。六、向 S3 上传第一个文件Bucket 创建完成以后接下来做一个最简单但非常重要的操作上传文件进入刚刚创建的 Bucket。点击Upload然后准备一个本地测试文件把它上传到 S3。当然也可以创建文件夹并上传让存储的文件分类更有层次感。七、下载 S3 中的文件接下来测试一下下载。选择上面上传的test.txt对象文件点击看到下面的详细界面。点击下载安久下载到本地即可。八、理解 S3 URI使用 S3 时经常会看到这种地址s3://my-aws-study-s3-xxxx/data/sample.csv这个就是经常使用的S3 URI可以拆开理解s3://↓ my-aws-study-s3-xxxx ↓ data/sample.csv也就是s3://Bucket名称/Object Key以后使用・AWS CLI・Python boto3・AWS Glue・Amazon Athena・AWS Lambda等服务访问 S3 时经常都会遇到类似的 S3 路径。九、S3 Storage Class 初步认识在 S3 中并不是所有数据都必须采用相同的存储方式。AWS 提供了不同的Storage Class来适应不同的数据访问需求。例如有些数据・经常访问・偶尔访问・长期归档・很长时间才会使用一次这些场景对于存储成本、访问方式等方面的要求是不一样的。对于我现在的入门学习阶段并不需要马上记住每一种 Storage Class 的全部细节。但要意识到S3 不只是“把文件放进去”实际架构设计中还需要考虑数据访问频率、保存周期以及成本。十、S3 VersioningS3 还有一个很有用的功能 Bucket Versioning开启 Versioning 后可以保留同一个 Object 的不同版本。例如sample.csv第一次上传一个版本之后重新上传同名 Object 时可以形成不同版本。这对于・防止误覆盖・数据恢复・数据版本管理等场景非常有价值。不过 Versioning 开启以后也需要注意旧版本对象仍可能带来存储成本。十一、S3 权限控制学习 S3 时还有一个非常重要的话题谁可以访问我的 Bucket 和 Object这就会再次涉及上一篇之前学习过的 IAM。S3 的访问控制可能涉及・IAM User・IAM Role・IAM Policy・Bucket Policy・Block Public Access・Object Ownership 等因此前面学习的 IAM 并不是一个独立章节而是会贯穿后面的 AWS 服务。关系大概是IAM │ └── 控制“谁可以做什么” │ ↓ S3 │ ├── 创建 Bucket ├── 上传 Object ├── 下载 Object └── 删除 Object这让我们对 IAM 的用途也比单独学习的时候更加直观。十二、删除测试 Object测试结束以后我们可以尝试删除刚刚上传的文件。选择测试 Objecttest.txt执行Delete按照 Console 的提示完成删除。※删除测试数据前确认它确实是不再需要的数据。十三、删除测试 Bucket如果这个 Bucket 后面不再继续使用可以在确认测试对象全部处理完成后删除测试 Bucket。不过如果下一篇 Lambda 准备继续用这个 Bucket 做实验也可以先保留它。例如第五篇可以直接使用S3 ↓ 上传文件 ↓ 触发 Lambda ↓ Lambda 处理 Event ↓ 输出日志到 CloudWatch Logs总结通过这次 S3 学习和实际操作我完成了・创建 S3 Bucket・理解 Bucket、Object 和 Object Key・上传测试文件・创建类似目录的对象组织方式・下载 Object・理解 S3 URI・初步认识 Storage Class・初步认识 Versioning・了解 S3 权限控制思路・删除测试 Object学习 S3 之前我们比较容易把它理解为“AWS 上保存文件的地方。”但实际学习以后我觉得更准确的理解应该是S3 是 AWS 中非常基础的对象存储服务同时也是很多数据处理、Serverless 和分析架构中的重要数据存储基础。更重要的是我开始把之前学习的几个 AWS 概念连接起来IAM → 控制访问权限 EC2 → 提供计算能力 S3 → 提供对象存储能力这样学习以后AWS 中不同服务之间的关系也开始逐渐清晰起来。最后附上一张一起学习的小伙伴用AI总结的S3内容供参考。
RELATED

相关推荐

PotPlayer底部状态栏字体大小修改(PotPlayer皮肤修改)

PotPlayer底部状态栏字体大小修改(PotPlayer皮肤修改)

问题:PotPlayer底部导航栏文字太小并且是灰色的不够清晰1.随便打开一个视频,右键播放窗口打开皮肤设置2.打开皮肤文件夹3.复制一份Default.dsf,然后将复制的文件名修改为MyDefault.zip,注意将后缀修改为zip4.将MyDefault.zip解压到…

📅 2026/10/31 11:03:05
卓里奇《数学分析》有哪些特色

卓里奇《数学分析》有哪些特色

卓里奇《数学分析》的核心特色,是打破传统数分教材的边界,把严谨分析、现代数学视角和自然科学应用深度融合,是俄罗斯数学学派的标杆级作品。 🔗 打通多学科的现代数学视角 它跳出了传统数分只讲纯分析的局限,主动加强…

📅 2026/10/31 11:03:04
学习笔记6:51单片机GPIO介绍

学习笔记6:51单片机GPIO介绍

一、GPIO概念GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51单片机芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。不过GPIO最简单的应用还属…

📅 2026/10/31 11:03:04
MORE NEWS

更多资讯

📰

汇编调试陷阱:CX寄存器高位残留导致LOOP异常

简介:本资源是北京交通大学《汇编与接口》课程配套的Debug调试实验教学材料,面向计算机专业本科生及汇编语言初学者,聚焦底层程序调试能力培养。实验以经典闰年判断程序leapYear.exe为载体,系统覆盖编译链接流程、Debug单步执行&a…

📰

快捷指令从入门到肌肉记忆:高频指令分层学习与训练路径

1. 从“记不住”到“肌肉记忆”:快捷指令这件事到底卡在哪 几乎每个用电脑超过三年的人,都经历过同一个尴尬瞬间:明明昨天才用过那个命令,今天坐在屏幕前,手指悬在键盘上,脑子里只剩一个模糊的影子——“好…

📰

API版本管理:核心挑战与工程实践指南

1. API版本管理的核心挑战与设计原则 在分布式系统架构中,API作为服务间通信的契约,其稳定性直接影响整个系统的可靠性。我经历过一次惨痛的线上事故:因为某个微服务API的响应字段调整未做好版本隔离,导致下游十几个服务同时报错。…

📰

黄仁勋CES 2026演讲:算力即服务与AI未来趋势

1. 黄仁勋CES 2026演讲核心观点解析 作为NVIDIA创始人兼CEO的黄仁勋,在CES 2026上的演讲再次成为科技界的焦点事件。这次演讲延续了他一贯的黑色皮衣风格,但内容却带来了更多突破性的技术展望。我全程跟踪了这场演讲,并整理了其中最值得关注的…

📰

Go语言interface{}原理与空值处理实战

1. Go语言interface{}的本质与空值陷阱 1.1 空接口的底层实现原理 Go语言的interface{}本质上由两个指针组成:一个指向类型信息的指针(_type),另一个指向实际数据的指针(data)。当我们将任何值赋值给inter…

📰

ET2026打版软件增强版功能解析与应用指南

1. ET2026打版软件增强插件版概述 ET2026打版软件是服装设计行业广泛使用的专业工具,其增强插件版在原版基础上进行了功能扩展和性能优化。这款软件主要面向高级版师群体,提供了更高效的打版、排料和样衣设计功能。 作为一款专业级服装设计软件&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬