云计算-Amazon S3

亚马逊S3(Amazon S3)

        亚马逊S3是一种云对象存储设施。我们将使用的对象将是您在个人计算机上常用的文件。亚马逊S3产品旨在可扩展到实际无限数量的对象和无限大小的对象,但我们在本实验室的练习中只会使用少量对象。当存储许多对象时,您应该思考可能出现的问题,因为这将解释亚马逊做出的一些设计决策以及您将看到的许多S3存储管理产品。我们将在与本单元相关的主题中详细描述其中的一些产品和其他云提供商的等效产品。

创建S3桶

        我们可以从AWS管理控制台搜索“S3”。

        然后,我们进入S3首页,然后我们必须创建一个桶。一个亚马逊S3桶是在亚马逊S3中可以通过全球唯一标识符访问的单一存储区域。桶开始是空的,但可以无限添加(所以要小心你的代码)。亚马逊根据您桶中使用的存储量以及访问频率收费。如果您的程序在无限循环中失控,您可能会超出分配的信用额度。

        我们将使用AWS管理控制台创建桶,尽管它也可以通过编程方式完成。当我们运行控制台并选择S3产品时,将出现S3管理控制台屏幕。如下所示,它有一个“创建桶”按钮。

        当我们点击“创建桶”按钮时,将显示以下对话框。在这个示例中,已经填写了桶的名称和亚马逊区域。我们通常将其他字段保留为默认选项。

        

        一旦给出桶名称,我们最终点击“创建桶”按钮完成桶创建过程。

        关于此处输入的数据有两个非常重要的事项:

  1. 桶名称必须跨亚马逊云中的所有桶唯一。这意味着您不能使用世界上其他地方正在使用的桶名称。这里使用的桶名称可以作为如何找到唯一桶名称的想法,但您不能使用这个名称,因为该桶已为本单元创建。
  2. 如果您使用的是亚马逊教育账户,您必须从区域列表中选择“美国东部(北弗吉尼亚)”区域。如果您有自己的账户,那么您可以选择任何区域。

        对于加密和桶密钥,我们保持默认选择。表格将为您提供所需格式的提示。您会在“桶名称”字段下面看到一个“查看桶命名规则”的链接。点击此链接可了解更多关于形成桶名称的信息。

        一旦您完成这两个字段(忽略复制设置字段),您就可以点击创建按钮来创建您的桶。不用担心您的第一个桶的“下一步”按钮。它提供了各种桶选项,如加密、压缩和存储类型。您的第一个桶应使用默认设置。

        一旦创建了桶,您将不得不关闭对话屏幕,然后您将返回到S3控制台屏幕,但这次您的桶将列在表格中。在上面的示例中,屏幕将显示如下:

        当您将鼠标光标悬停在桶上时,您会看到您可以选择桶。

向桶中添加对象

        在这一节中,我们将使用AWS管理控制台向S3桶中添加一些文件。我们可以从主S3控制台屏幕通过点击桶列表中的桶名称来进行操作,如上一节中的前一个示例所示。

        一旦我们点击空桶的桶名称,以下屏幕将出现。

        桶名称在您的桶中将显示为您赋予的唯一名称。然后我们点击“上传”按钮,将出现一个对话框,我们可以选择要放入桶中的文件。它将如下所示。

        这里提供了两个选项,我们可以将文件拖放到对话框中,或者我们可以点击“添加文件”按钮,将出现一个进一步的对话框,允许我们在计算机上选择文件。这个对话框将是您浏览器的文件选择对话框。

        当您点击“上传”按钮时,您将看到一个进度条,显示您添加的文件正在上传到桶中。

        一旦文件被添加,它们将出现在桶对象列表中。以下屏幕截图显示了在上传名为SCU.png的单个文件后的亚马逊控制台。

        从屏幕上可以看到,还有几个其他选项。我们可以更改对象属性、权限并应用各种管理策略到桶中的对象。在本实验室会话中,我们将使用默认安排。

        要查看所有对象的属性,我们可以使用复选框选择对象,属性窗口将出现。

        请注意,这些属性与上传时作者的对象相关。您的对象将具有不同的属性,这些信息将与上传的对象一起显示。

        还要注意,一旦您选择了一个或多个对象,“操作”菜单就可以访问。这将允许您操纵对象,例如删除、复制、下载和更改几个对象属性。

        我们也可以像您在个人设备上使用的文件系统一样将对象组织成文件夹。您可以在上面的屏幕截图中看到“创建文件夹”按钮。我们将在下面的练习中创建一个文件夹。值得注意的是,当我们创建它们时,S3桶没有物理文件夹。这只是客户端将文件夹名称放在对象的完整标识符的开头的命名约定。通常这不会被注意到,客户端软件将表现得就像PC或其他设备上的真实文件夹一样。

使用S3桶托管网站

        在前一节中,您已经看到桶非常类似于文件系统。亚马逊进一步允许我们使用桶作为静态网站。

        在制作网站之前,我们需要创建一个index.html文件,它将用作配置的一部分。以下是一个非常简单的index文件(index.html)示例:

<!DOCTYPE html>
<!-- PROG2003 Lab Simple Web page -->
<html><head><title>Laboratory - Amazon S3</title></head><body><h1>Amazon S3 website</h1><p>Hello world!</p></body>
</html>

        您应该很容易识别这段HTML代码。

        我们还需要为亚马逊S3创建一个错误HTML文件,我们将使用以下非常简单的HTML文件,并将其命名为error.html。

<!DOCTYPE html>
<!-- PROG2003 Lab Error Web page -->
<html><head><title>ERROR - Laboratory S3 website </title></head><body><h1>An error has occurred</h1><p>The most likely cause of the error is an incorrect URL.</p><p>However, you have the correct host name to reach this website!</p></body>
</html>

        我们将这两个文件上传到我们希望用作静态网站的桶中。

        然后我们需要将桶配置为网站。我们在管理控制台中选择桶(见前一节),选择“属性”标签。在属性页面的底部,您将看到“静态网站托管”窗格。您可以点击“了解更多”,屏幕将显示如下图所示。

        我们需要点击“编辑”按钮。这将带我们到如下页面。

        然后我们启用“静态网站托管”,并且窗格将扩展如下截图所示。我们还需要指定索引文档和错误文档,这两个文件就是我们刚刚上传的index.html和error.html。假设这些是刚创建的index.html和error.html,其余屏幕将显示如下。

        然后我们点击“保存更改”按钮,它将带我们回到初始桶属性页面。

        我们可以看到的链接(位于“静态网站托管”窗格底部的桶名称)是我们网站的链接。但我们还没有完成。我们需要允许公共访问并添加一个策略以便访问此站点。

配置网站的访问权限

        接下来,我们必须设置权限,以便其他人可以访问我们的网站。默认情况下,亚马逊S3桶和对象非常安全,除了账户所有者外,没有人能够访问对象。对于网站,我们必须更改这一设置,以允许网页被访问。

        使我们的网站对每个人都可访问是一个两阶段的过程。首先,我们必须允许我们自己更改访问政策。默认情况下,即使是所有者也不能更改访问权限。这是通过选择我们将用作网站的桶的“权限”标签上的“阻止公共访问”按钮来完成的。在右上角,有一个“编辑”设置的链接。选择编辑链接后,清除所有阻止访问选项。对话框将显示如下。

        当您保存您的选择时,将要求您确认权限更改。

        接下来,我们必须创建公共政策,允许任何人以只读方式访问网站。当然,我们不希望其他人被允许写入我们的网站。政策可以通过点击“权限”标签上的“桶政策”部分的“编辑”按钮插入。最初将是一个空白(或一些默认脚本)文本区域。我们将使用的政策将是:

{"Version": "2008-10-17","Statement": [{"Sid": "AllowPublicRead","Effect": "Allow","Principal": {"AWS": "*"},"Action": "s3:GetObject","Resource": "arn:aws:s3:::pchakrab14-bucket-1/*"}]
}

        请注意,这个政策引用了我们作为运行示例使用的桶名称。您需要插入您自己的桶名称。当我们输入这个后,屏幕将显示如下。我们点击页面底部的“保存更改”以保存政策声明。

        最后一步是访问我们刚刚创建的网站。这可以通过一个URL完成,该URL是从您的桶名称和存储您的桶的亚马逊AWS区域的名称组成的唯一字符串。上述网站的索引页面可以通过以下URL访问:

http://pchakrab14-bucket-1.s3-website-us-east-1.amazonaws.com/

        这里我们已经标出构成网站地址的两个唯一名称:

  • pchakrab14-bucket-1是桶名称。您的将会不同。
  • us-east-1是您创建桶的亚马逊区域名称。除非您拥有自己的亚马逊AWS账户,否则您的可能会不同。

        当我们在网站中有其他页面或资源时,我们只需像普通web开发那样将文件名添加到URL中。然而,请注意,文件名区分大小写,而其他web服务器则不区分。区分文件名大小写是HTTP/HTTPS/URL标准的正确实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/17680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV学习 基础图像操作(十四):直方图均衡化和直方图规定化

基础原理 直方图操作是基于像素统计的基础图像操作,被广泛运用于调整图像的对比度,并由此衍生出很多变种和该经的方式. 图像相直方图 直方图(Histogram)&#xff0c;又称质量分布图&#xff0c;是一种统计报告图&#xff0c;由一系列高度不等的纵向条纹或线段表示数据分布的…

【强训笔记】day24

NO.1 思路&#xff1a;递归。 代码实现&#xff1a; class Solution { public:bool IsBalanced_Solution(TreeNode* pRoot) {return dfs(pRoot)!-1;}int dfs(TreeNode* root){if(rootnullptr) return 0;int leftdfs(root->left);if(left-1) return -1;int rightdfs(root-…

Vulnhub - AI-WEB-1.0靶机教程

目录 站点信息收集 c段扫描 端口扫描 目录扫描 漏洞利用 使用 burp 抓包 查询数据库名 查询数据库下的表 查询表中的字段名 查询字段中的数据 --os-shell 上传一句话木马 下载地址&#xff1a;https://download.vulnhub.com/aiweb/AI-Web-1.0.7z 我们从站点信息收…

【哈希】闭散列的线性探测和开散列的哈希桶解决哈希冲突(C++两种方法模拟实现哈希表)(1)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; C进阶 &#x1f389;其它专栏&#xff1a; C初阶 | Linux | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 哈希函数与哈希 之 闭散列的线性探测解决哈希冲突 的相关内容。 如…

Echarts圆环图偏移后 中心文字居中对齐实现

像上图中这样圆环图并不在div的中间时&#xff0c;中心的文本需要居中展示 一开始用left百分比但数据一旦变长或变短就会偏移 像这样 实在是太不美观了 所以我们这里使用动态的left通过文本的长度来计算 /*** 计算文本宽度* param {String|Number} text* param {String} font*…

js之图片上传

话不多说&#xff0c;直接上干货&#xff0c;注释在代码里面 下面是效果图和代码 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

[算法][数字][leetcode]2769.找出最大的可达成数字

题目地址 https://leetcode.cn/problems/find-the-maximum-achievable-number/description/ 题目描述 实现代码 class Solution {public int theMaximumAchievableX(int num, int t) {return num2*t;} }

第97天:权限提升-Web 权限权限划分源码后台中间件第三方数据库等

前置知识 具体有哪些权限需要我们了解掌握的 后台权限&#xff0c;网站权限&#xff0c;数据库权限&#xff0c;接口权限&#xff0c;系统权限&#xff0c;域控权限等 以上常见权限获取方法简要归类说明 后台权限&#xff1a;SQL 注入,数据库备份泄露&#xff0c;默认或弱口…

Python | Leetcode Python题解之第104题二叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution:def maxDepth(self, root: TreeNode) -> int:if not root: return 0queue, res [root], 0while queue:tmp []for node in queue:if node.left: tmp.append(node.left)if node.right: tmp.append(node.right)queue tmp…

Mybatis入门——其他查询操作和数据库连接池(4)

目录 一、多表查询 二、#{} 和 ${} 1、#{} 和 ${} 的使用 &#xff08;1&#xff09;Integer类型的参数 #{} 的使用 ${} 的使用 &#xff08;2&#xff09;使用String类型的参数 #{} 的使用 ${} 的使用 小结&#xff1a; 2、#{} 和 ${} 的区别 &#xff08;1&#…

太阳能语音监控杆(球机LED款)有什么用

传统监控设备依赖电力支持&#xff0c;在偏远地区和没有网络地区难以发挥其作用&#xff0c;而鼎跃安全的太阳能语音监控杆&#xff08;球机LED款&#xff09;在传统监控基础上&#xff0c;进行了全面优化&#xff0c;解决了无电无网区域使用受限的问题。 太阳能语音监控杆&am…

RSC英国皇家化学学会文献查找下载

英国皇家化学学会(Royal Society of Chemistry&#xff0c;简称RSC)是以促进全球化学领域研究发展与传播为宗旨的国际权威学术机构&#xff0c;是化学信息的一个重要宣传机关和出版商。RSC出版的期刊是化学领域的核心期刊&#xff0c;大部分被SCI和MEDLINE收录&#xff0c;如An…

腾讯云联络中心ivr调用自定义接口

1&#xff0c;java代码&#xff1a;http接口 RequestMapping(value "/getMsg5", method RequestMethod.POST) public Map<String, String> index(RequestBody Map<String, String> params) {String id params.get("id");HashMap<String…

渗透测试工具Cobalt strike-1.CS介绍与配置

Cobalt Strike是一款美国Red Team开发的渗透测试神器&#xff0c;常被业界人称为CS。最近这个工具大火&#xff0c;成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式&#xff0c;集成了提权&#xff0c;凭据导出&#xff0c;端口转发&#xff0c;socket代理&#x…

目前无法解释的6个物理问题,每一个都困扰科学家很长时间

人类已经对宇宙有了大概的认知&#xff0c;不过即便如此&#xff0c;在宇宙中还有很多我们无法解释的物理问题&#xff0c;下面我们就一起来看看。 第一个无法解释的物理问题——虫洞真的存在吗&#xff1f; 虫洞最早是1916年由奥地利物理学家路德维希.费莱姆首次提出的&#…

登录记住密码背景颜色修改

1&#xff0c;在login.vue中&:-webkit-autofill里面的css替换成如下 &:-webkit-autofill {box-shadow: 0 0 0px 1000px $bg inset !important;-webkit-text-fill-color: $cursor !important;}

【自用题库】2024/华三/H3CNE安全GB0-510

【网工必备】华三H3CNE-安全-510 题库覆盖百分百&#xff0c;题库有291道总结汇总 还有vce加vce文件模拟真实考试环境 到手文件夹5样东西&#xff01;&#xff01;&#xff01; 认证简介&#xff1a;H3CNE-Security&#xff08;H3C Certified Network Engineer For Security&am…

6千古诗文必背名句大全ACCESS\EXCEL数据库

古诗&#xff0c;是古代诗歌的一种体裁&#xff0c;又称古体诗或古风&#xff0c;指的是产生于唐代以前并和唐代新出现的近体诗&#xff08;又名今体诗&#xff09;相对的一种诗歌体裁。其特点是格律限制不太严格。 从小我们就被教“熟读唐诗三百首,不会吟诗也会吟”&#xff…

Ubuntu20.04安装ffmpeg,并捕获视频流

工控机&#xff1a;幻影峡谷 系统&#xff1a;Ubuntu20.04 摄像头&#xff1a;杰瑞微通环星光USB摄像头 安装ffmpeg步骤 依次运行以下命令&#xff1a; sudo apt update sudo apt install ffmpeg安装完成后&#xff0c;通过运行ffmpeg -version来验证安装是否成功&#xf…

Postgresql源码(134)优化器针对volatile函数的排序优化分析

相关 《Postgresql源码&#xff08;133&#xff09;优化器动态规划生成连接路径的实例分析》 上一篇对路径的生成进行了分析&#xff0c;通过make_one_rel最终拿到了一个带着路径的RelOptInfo。本篇针对带volatile函数的排序场景继续分析subquery_planner的后续流程。 subquer…