今天我们将介绍 AWS S3 的架构及其版本控管(Versioning)的概念。
此处是以 Global 来代表 S3 为跨 Region 的概念(下图#1)。
首先,我们会在 S3 创建一个 Bucket,并给予一个 Bucket nameing (下图#2)。由於 Bucket 是一个跨 Region 的资源,也就是 Global 的资源,所以建立 Bucket 名称时,必须避免与全球的使用者所建之 Bucket 的名字重复。
创建 Bucket的时候,需要先挑选 Region (下图#1),而在这里笔者为 Bucket 取名为 Bucket instance (下图#2),里面可以放上许多档案(Object)(下图#3)。
当需要寻找某个 Bucket 底下的 Object 的时候,使用的机制是一个叫作 Key-Value 的搜寻方式。
Key-Value 机制非常单纯(下图#1),即找到某个 Bucket 之後(下图#2),再往下找到 Object 的 Key (下图#3),就能拿到此项 Object 的档案及内容。
工作的时候,可能会遇到同事把共用档案覆盖掉而找不回来的事件,为了应付这个状况,S3 提供了一个功能,叫作版本控管(Versioning)。
假设,现在有个人不小心把 Object 覆盖掉了(下图#1),如果有开启 Versioning,S3 就会保留原本的档案,并在新的档案上面,给新 Object 一个标签叫 V1(Versioning1) (下图#2)。
那如果之後又有一个新档案把它覆盖掉呢?S3 就会再把档案往上盖(下图#1),并给新的 Object 另外一个 Versioning ID 为 V2 (下图#2)。
在共用档案被删除的情况下,Versioning 也同样有所用处。
假设有人把下图的 Object 删掉了(下图#1),S3 其实不会真的把这个 Object 给删掉,并会给此项 Object 一个 Delete marker 标签(下图#2),告诉共同使用者这个Object被删除了。
所以,如果有人发现这个 Object 是误删(下图#1),只要把这个被误删的 Object 的 Delete marker 砍掉(下图#2),档案就会回来。
下图为今天 S3 服务所导出的结构图。
AWS S3 是一个跨 Region 的概念,为了与其他使用者或其他用途的档案能有所区分,就必须先建置 Bucket,并在其下储存档案,另外利用 Key-Value 方式来找档案的话,也能更快速、方便地找到档案。
此外,只要开启版本控管(Versioning),对於 S3 档案上的变动,AWS S3 就能够给予使用者简单复原档案的机会,避免不可逆的结果,减少使用者的麻烦。
那麽明天,我们将接着介绍「储存宝石:S3 储存类别 & 生命周期管理」!
<<: Day 20 Azure machine learning: "Hello Azure" experiment- 试一下最简单的实验
>>: Day 20 「就是真诚」TDD 的实弹演习:Magneto Effect
这礼拜进度比较快写到 week4 的作业。看了一下 fetch API 的东西,$.ajax(), ...
购物车後端的部分终於要结束啦~ 以下内容有参考教学影片,底下有附网址。 (内容包括我的不专业解说分析...
问题及解决方法 用YOLOv4模型裁切出来的文字,大部分的图档,都有红框等杂讯的存在,如下图。若将含...
来到了第 30 篇!(๑´ㅂ`๑) 虽然还有很多页面没有讲,但其实有应用到的技术都讲得差不多了 来分...
重复使用 TCP 连线 本篇章请搭配以下一起服用: HTTP - 复习传送门 TCP / UDP -...