OSS云存储管理实践(体验有礼)

本文涉及的产品
对象存储 OSS,20GB 3个月
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。用户可以通过调用API,在任何应用、任何时间、任

阿里云对象存储

阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。用户可以通过调用API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过用户Web控制台对数据进行简单的管理。OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。

阿里云OSS图片处理服务

阿里云OSS图片处理服务(Image Service,简称 IMG) ,是阿里云OSS对外提供的海量、安全、低成本、高可靠的图片处理服务。用户将原始图片上传保存在OSS上,通过简单的 RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。图片处理服务提供图片处理接口,图片上传请使用OSS上传接口。基于IMG,用户可以搭建出跟图片相关的服务。图片服务处理的图片来自于OSS,所以图片的上传实际是上传到OSS的同名Bucket中。

在真实的工作场景中,一般将图片、音频、视频等存储到OSS服务中,这样可以极大的提高用户的页面访问速度。11 月 9 日至 11 月 23 日期间,完成部署即可获得“TOMY 多美卡合金车模一辆”。

O1CN019If3vm1vDFjunR9QE_!!2921416138-0-cib.jpg

地址:https://developer.aliyun.com/adc/series/activity/1111

体验准备

体验需使用自己的账户开通以上服务
ECS资源地址
开始实验后,系统会自动去创建一台Linux ECS。其中,创建的ECS中已经部署了web应用和OSS python SDK。在本实验中,已创建的ECS作为web服务器,浏览器中直接访问其IP地址会显示包含四个小图片的页面,并且四个图片都保存在ECS本地。通过调用OSS API将四个图片上传到OSS中,同时删除保存在ECS本地的四个图片,此时访问ECS IP将会看到页面中没有图片可以显示。为了在页面中显示原有的四个图片,实验中需要修改web应用服务器根目录下默认访问页面中的图片地址,将图片地址修改为四个图片分别在OSS中的访问地址。

连接ECS服务器

1、双击打开虚拟桌面的Chromium浏览器,在RAM用户登录框中单击下一步,复制云产品资源列表中子用户密码,按CTRL+V把密码粘贴到密码输区,登录子账户(后续在远程桌面里的粘贴操作均使用CTRL + V快捷键)。
2、复制云服务器ECS控制台地址,在Chromium浏览器打开新页签,粘贴并访问云服务器ECS控制台。
3、在控制台左侧导航栏中,单击实例。
p349123.png
4、在实例页面顶部菜单栏,切换到资源所在地域。

说明 :

参考如下图片切换地域到华东2(上海)。
p349125.png
5、在实例页面,在目标实例的操作列下单击远程连接。

说明 :

您可在云产品资源列表中查看目标实例的实例ID。
p349128.png

6、在远程连接与命令对话框的Workbench远程连接区域中,单击立即登录。

p349130.png
7、在登录实例对话框中,输入云资源产品列表中ECS服务器的登录密码,单击确定。

p349131.png
返回如下页面,表示您已经成功远程连接到ECS服务器。
e12696abe6c6446e8cc9d9f80ba61c52.png

基于单ECS的图片网站

本小节将展示一个在 ECS 上已搭建的图片分享网站,以及图片分享网站的源码。

1.在Chromium浏览器打开新页签,在地址栏输入http://<ECS公网地址()弹性IP)>:8080并访问。您可以查看到当前页面中显示1张 “花园” 的图片,该图片实际是由 4 张小图片组成的。
9eba88af045e4fa28fff26d4ac22a6c3.png

2.切换至终端页面。执行以下命令,进入网站系统的根目录。

cd /alidata/www/default

然后,使用如下查看命令,查看保存在根目录下的四张图片 01.png,02.png,03.png 和 04.png,也就是图片分享网站所展示的 4 张小图片。

ls

TB1JTsAtxD1gK0jSZFyXXciOVXa-670-76.png

在Chromium浏览器打开新页签,在地址栏中输入 <ECS实例外网地址>/01.png,可以查看到 01.png 的图片内容。同理,可以查看 "02.png", "03.png" 以及 "04.png" 的图片内容。
TB18rY0ueH2gK0jSZJnXXaT1FXa-507-292.png
3.使用如下命令,查看网站首页的源码,可以看到图片分享网页中显示的图片,是从网站根目录 /alidata/www/default 中,读取图片 01.png,02.png,03.png 和 04.png 拼接的。

cat index.html

TB1O_gutpY7gK0jSZKzXXaikpXa-699-562.png

使用ECS+OSS实现图片网站

1.本小节将存储在本地的图片上传到 OSS Bucket 中,从而,图片分享网站将从 OSS Bucket 中读取图片,本地无需保存图片。

2.在ECS实例的 /alidata/www/default 目录中,执行如下命令,进入 cfg.json 的编辑页面,并修改 OSS 的配置信息。

vim cfg.json

TB1aUgwtrr1gK0jSZFDXXb9yVXa-579-37.png

在键盘上输入 “I”,切换到编辑模式,在编辑页面中,修改如下参数信息。

id: 云产品资源 分配的 AK ID 值;
secret: 云产品资源 分配的 AK Secret 值;
endpoint:请根据下面的 OSS地域与Endpoint对应关系表,输入 云产品资源 所分配 地域 相对应的 外网Endpoint 。例如:分配的 地域 为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com;
bucket: 云产品资源 分配的 OSS资源 Bucket 名称;
object_dir: 云产品资源 分配的 OSS资源 Object路径。
完成后,首先按 esc键 退出编辑状态,然后输入下面命令保存并退出编辑页面。

 :wq

OSS 地域 与 外网 Endpoint 对应关系表:

地域

外网Endpoint

华东 1 (杭州)

oss-cn-hangzhou.aliyuncs.com

华东 2 (上海)

oss-cn-shanghai.aliyuncs.com

华北 1 (青岛)

oss-cn-qingdao.aliyuncs.com

华北 2 (北京)

oss-cn-beijing.aliyuncs.com

华南 1 (深圳)

oss-cn-shenzhen.aliyuncs.com

TB1xfLVukL0gK0jSZFAXXcA9pXa-1272-140.png

3.执行如下命令,将 01.png 上传到 OSS,该脚本使用 OSS 提供的 API 接口 put_object_from_file() 将本地文件上传到 云产品资源 分配的 Object 路径 中。

python oss_upload.py 01.png
然后,执行相同命令,只把 01.png 改为 02.png 等,将 02.png、03.png 和 04.png三个图片分别上传到 OSS。接下来,用户将访问 OSS 管理控制台,并查看上传到 OSS 的文件。

说明:通过 Python SDK 的方式上传本地文件到 OSS 的具体方法,请参考实验 SL003 使用OSS API上传和下载文件。

TB1pWMBtAT2gK0jSZFkXXcIQFXa-531-190.png

4.复制OSS控制台地址,在Chromium浏览器打开新页签,粘贴并访问OSS控制台。

https://oss.console.aliyun.com/

  1. 进入 OSS 管理控制台后,在 Bucket 列表中,点击 云产品资源 提供的 Bucket名称,例如 adc-oss-969hd2,进入 adc-oss-969hd2 Bucket 管理页面。

TB1Soq.v8r0gK0jSZFnXXbRRXXa-1536-833.png

6.点击 【文件管理】 ,可以查看到当前 Object 列表中存在一个或多个文件夹。点击 云产品资源 分配的一级 Object 路径。例如:用户分配的 Object 路径 为 OSSCTY/u-xxx/,则 OSSCTY 为一级 Object 路径。点击 OSSCTY,进入 Object “OSSCTY” 路径中。

TB1IPS9v1H2gK0jSZJnXXaT1FXa-1382-571.png

在 “OSSCTY” 的 Object 路径中,点击分配的二级 Object 路径。例如:用户分配的 Object 路径 为 OSSCTY/u-xxx/,则 u-xxx 为二级Object 路径。点击 u-xxx 进入Object OSSCTY/u-xxx 路径中。

此时,在 Object 管理的列表的第一行中,用户可以查看到当前 Object 路径信息。在 Object 管理的 Object 列表中,展示已上传并保存到 “SOSSCTY/u-xxx /” 路径下的 4 张图片:01.png,02.png,03.png,04.png。

TB1PzS9v1H2gK0jSZJnXXaT1FXa-1212-703.png

7.切换回终端页面,执行下面命令进入 alidata/www/default 目录。

cd /alidata/www/default
然后执行如下命令,删除当前目录中的所有 “ .png ” 文件,也就是,图片分享网站中读取的 4 张图片 01.png, 02.png, 03.png 和 04.png。

rm -rf *.png

执行查看文件命令,查看当前目录中无图片文件,证明图片已删除。

ls

TB1N5kBtrj1gK0jSZFuXXcrHpXa-578-93.png

8.打开(在浏览器的地址栏中,输入 云产品资源 分配的 ECS 外网地址 并访问)或刷新图片分享网站主页面,查看到当前页面中所有图片均无法正常显示。这是因为图片分享网站读取的是本地图片文件,而本地存储的图片文件已被删除,因此无法读取到图片信息。

注意:

若访问页面仍旧可以显示图片,可能是由于浏览器缓存问题,建议清理下浏览器的缓存或者换一个浏览器查看ECS服务器主页。

TB1VyzSuXT7gK0jSZFpXXaTkpXa-814-603.png

9.接下来,将重新配置 index.html 中的图片访问信息,按照以下步骤将图片链接修改为上传到 OSS 的图片的 URL 访问地址:

1) 切换回 OSS 管理控制台页面,进入 云产品资源 分配的 Object 路径 中,获取图片的URL访问地址。点击 01.png ,找到并点击右侧弹出框的 【复制文件 URL】。

TB1vtK9vW61gK0jSZFlXXXDKFXa-1573-740.png

2) 切换回终端页面,执行如下命令,返回 ECS 服务器的 /alidata/www/default 目录下,并进入服务器访问首页 index.html 的编辑界面。

cd /alidata/www/default
vim index.html

3) 在 下,找到第一张图片的链接参数 src="01.png",删除 01.png,并粘贴上面步骤中复制的上传到 OSS 01.png 图片的访问

地址。 同理,修改 02.png,03.png,04.png 的链接地址为 OSS 的存储地址。

TB1V_2Uumf2gK0jSZFPXXXsopXa-965-537.png

4) 完成所有图片的修改后,点击 esc键 退出编辑状态,执行以下命令保存并退出编辑页面。

:wq

10.在浏览器中,刷新 ECS实例的 外网地址 的访问页面,页面将再次显示 花园 的图片,说明现在网站可以使用存储在 OSS 上的图片来显示页面。

TB1NsjUuoT1gK0jSZFrXXcNCXXa-537-605.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
存储 数据可视化 安全
一张图的七十二变——阿里云OSS图片处理实践
      小张是某视频网站的新入职的UED,日常工作就是创作各式各样的海报banner。踌躇满志的小张,上了三天班就蔫了。因为他在完成一张图的创作后,还需要考虑:• 同一张图会以不同的形式应用于网站各处:有时候需裁剪成不同形状,有时需要加水印,有时需转换格式....• 为了风格统一,不同的图需要保持样式统一:不同图片排列组成成一组,每组图片风格(
2010 0
|
7月前
|
存储 运维 监控
OSS生命周期管理与访问行为分析实践
认证考试:OSS生命周期管理与访问行为分析实践
|
9月前
|
前端开发 API 开发工具
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
903 1
|
10月前
|
SQL 存储 运维
使用CloudLens for OSS构建Bucket资产可观测性实践
本文介绍通过CloudLens for OSS计量日志的自定义查询分析,来构建不同Bucket之间资产趋势可观测性对比分析。
153 0
|
10月前
|
存储 SQL JSON
使用SLS统计分析三方CDN回源OSS月95带宽实践
本文介绍通过使用阿里云日志服务SLS,对存储在SLS中的三方CDN回源阿里云OSS的监控日志数据,进行自定义查询分析之后得到按照不同运营商、不同业务类型(CND)纬度下,回源OSS的带宽月95量级数据,用于业务统计分析。
352 0
|
小程序 JavaScript 前端开发
微信小程序:阿里云OSS直传实践-PHP实现服务端签名
微信小程序:阿里云OSS直传实践-PHP实现服务端签名
632 0
微信小程序:阿里云OSS直传实践-PHP实现服务端签名
|
存储 文件存储 对象存储
PBC-阿里云OSS实践
文件上传,相信我们在大多数业务场景下都有这个需求。这个功能对业务系统来说也比较独立,和系统耦合度不高,所以完全可以利用组装式思想对其PBC化,使其能够被任何业务系统使用。
353 0
|
存储 Cloud Native 关系型数据库
直播预告 | PolarDB-X 动手实践系列—— PolarDB-X on OSS 冷热数据分离存储
PolarDB-X的冷数据归档功能可以自动从源表中剥离出冷数据,归档至更低成本的OSS中。归档表支持高效的主键与索引点查、复杂分析型查询,满足高可用、MySQL兼容性和任意时间点闪回等特性,也可以用开源大数据产品接入OSS的归档数据。本期分享将介绍OSS冷数据归档功能,并简单介绍背后的设计思路及技术原理。
直播预告 | PolarDB-X 动手实践系列—— PolarDB-X on OSS 冷热数据分离存储
|
存储 运维 监控
征文投稿丨基于轻量应用服务器+OSS的中小型应用运维实践
高可用性、资源占用低的中小型项目的运维实践分享。
征文投稿丨基于轻量应用服务器+OSS的中小型应用运维实践
|
SQL 机器学习/深度学习 存储
通过日志服务实现数据库MySQL入湖OSS实践
日志服务(SLS)是云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能。阿里云提供了企业级的数据湖解决方案,存储层基于阿里云对象存储OSS构建。日志服务支持开箱即用的OSS投递入湖功能,实现数据的端到端的入湖。 本文主要介绍如何借助日志服务将关系型数据库MySQL数据入湖和实践,并介绍数据在入湖之前可以日志服务可以提供哪些开箱即用的功能。
397 0
通过日志服务实现数据库MySQL入湖OSS实践