传送门
阿里云高校计划
云数据库RDS产品介绍
RDS产品概要
RDS的目标
将耗时费力的数据库管理任务承担下来,使用户能够专心于应用开发和业务发展
用户可根据业务需求对RDS进行弹性伸缩
RDS的可靠性保障
RDS采用主从备份架构,拥有三份以上数据存储,具备高可用性和数据可靠性
RDS承诺99.95%的服务可用性和99.9999%的数据可靠性
RDS支持的数据库类型和版本
RDS for MySQL版本融入了RDS DBA团队的MySQL补丁
阿里云强烈推荐使用InnoDB 存储引擎
RDS支持的功能(一)
专业的数据库管理平台DMS DMS 不仅仅是为RDS定制的数据库管理平台,还可以使用户通过浏览器即可安全、方便的进行数据库管理和维护
轻松实现数据回溯 RDS能够根据备份文件将数据库恢复至7日内任意时刻
RDS支持的功能(二)
专业的数据库优化建议 RDS提供直观的慢SQL 分析报告和完整的SQL运行报告,并提供如主键检查、索引检查等多种优化建议
完善的监控体系 RDS展示近20种性能资源监控视图,可对部分资源项设置阈值报警,并提供WEB操作、SQL审计等多种日志
RDS与自建数据库对比
RDS的相关概念
RDS实例(instance)
实例时阿里云关系型数据库的运行环境
各实例之间相互独立、资源隔离、相互之间不存在CPU、内存、IOPS等抢占问题
同一实例中的不同数据库之间是资源共享的
RDS实例目前支持的最大内存为48GB,最大磁盘容量为1000GB
RDS只读实例
RDS可用区
单可用区:有效控制云产品间的网络延迟
多可用区:轻松实现同城容灾
地域
RDS数据库
是用户在一个实例下创建的逻辑单元
一个实例可以创建多个数据库 ,在实例内数据库命名唯一
MySQL类型实例,最多可以创建500个数据库,而SQL Server类型实例最多可创建50个数据库
所有数据库都会共享该实例下的资源,如CPU、内存、磁盘容量等
RDS数据库账号
每个数据库账号可以用于多个数据库
同时每个数据库的读写权限也可被分配给多个数据库账号
一个账号可以创建多个实例
对于MySQL和SQL Server类型实例,每个实例最多可创建500个数据库账号
RDS连接数
RDS磁盘容量
RDS管理控制台
管理用户所购买的RDS实例的WEB页面,可对RDS实例进行各种操作
云数据库RDS的数据库管理
数据迁入
数据迁入RDS RDS提供专业工具和向导式迁移服务来帮助用户将数据迁入RDS
迁移类型
结构迁移
DTS会将迁移对象的结构定义迁移到目标实例 支持对象:表、视图、触发器、存储过程、存储函数
全量迁移
DTS会将源数据库的数据全部迁移到目标实例
增量迁移
将迁移过程进行数据变更同步到目标实例 如果迁移期间进行了DDL操作,那么这些结构变更不会迁移到目标实例
mysqldump工具
购买RDS实例 利用mysqldump备份数据 利用mysqldump导出存储过程、触发器和函数 将数据导入至RDS
云数据库RDS家族
relational database service, 关系型数据库服务
可靠、可弹性伸缩的在线数据库服务
基于飞天分布式系统和高性能存储
支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎
提供容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼
RDS for SQL Server
不仅覆盖了微软的license支持特性 而且附带高可用架构和任意时间点的数据恢复功能 强力支撑各种企业应用
RDS for PostgreSQL
PostgreSQL是全球最先进的开源数据库
作为学院派关系型数据库管理系统的鼻祖
优点主要集中在对SQL规范的完整实现,以及丰富多样的数据类型支持(JSON、IP数据和几何数据等,大部分商业数据库都不支持)
RDS for PPAS
PPAS(Postgre Plus Advanced Server)
是一个稳定、安全且可扩展的企业级关系型数据库
基于全球最先进的开源数据库PostgreSQL
在性能、应用方案和兼容性等方面进行了增强,提供直接运行Oracle应用的能力
在线实验:云数据库管理初体验
step1:创建实验资源
step2:下载实验资源
step3:访问阿里云RDS管理控制台
首先,通过如下操作步骤,登录到阿里云RDS管理控制台:
1)点击页面左侧 实验资源 ,下拉框中点击 点击 前往控制台 , 2)依次输入 实验资源 提供的 子用户名称 、子帐号密码 ,然后点击 登录 。
通过如下步骤,进入实验资源 云数据库RDS实例 的管理控制台。
1)在顶部地址栏,选择 实验资源 提供的 地域 信息。 2)在搜索栏中,输入 实验资源 提供的 云数据库RDS实例 的 实例ID ,并点击 搜索 。 3)在下方搜索结果中,点击实例右侧的 管理 ,进入RDS实例的管理控制台。
step4:创建RDS数据库账号
通过如下步骤,进入数据库账号创建页面:
在RDS实例的管理页面,点击左侧栏的 账号管理 ,进入数据库账号管理页面。 在 用户账号 页面,点击 创建账号 。
填写如下信息,完成数据库账号创建:
1)数据库账号:请根据 输入框 下端的 命名规则 ,输入 数据库账号名称,例如:lab_user ,账号类型选择普通账号。 2)密码 :请根据 输入框 下端的 密码规则 ,输入 密码,例如:Passw0rd; 3)确认密码:再次输入创建的密码。 3. 自动返回 账号管理 的 用户账号 页面,查看到新建账号 lab_user 的 状态 为 激活 。
通过如下操作步骤,进入数据库创建页面:
1)点击左侧栏的 数据库管理 ,进入数据库管理页面。 2)在右侧的 数据库管理 页面,点击右侧的 创建数据库 ,进入创建页面。 1)数据库(DB)名称:请根据 输入框 下端的 命名规则 ,输入 数据库名称 2)支持字符集:默认设为 utf8 。 3)授权帐号:选择新建数据库账号 4)账号类型:默认设置为 读写 。 5)完成如上配置信息后,点击底部的 创建 ,完成数据库的创建。
在 数据库管理 页面中,等待1分钟左右,点击右上角的 刷新 ,可以查看到数据库 bailongfei_db 的 数据库状态 为 运行中 ,且 绑定账号 为 新建数据库账号 bailongfei 。
点击左上角产品与服务,点击数据管理DMS,进入到DMS控制台。
选择左侧栏中快捷登录,RDS登录。
通过如下步骤,查看登录的 网路地址:端口 的信息:
1)返回RDS管理控制台,点击左侧 基本信息 。 2)点击 内网地址 并复制 ,拷贝RDS实例的内网连接地址。 3)查看 内网端口 为 3306 。 4.返回数据库管理控制台,输入如下信息: 1)第一行:信息已经默认输入 内网地址:3306 。 2)第二行:输入 新建数据库账号 ,lab_user 。 3)第三行:输入 新建数据库账号密码 ,Passw0rd 。 4)点击 登录 ,登录到数据库管理系统。
通过如下操作步骤,进入数据库导入的页面:
1)点击页面顶部的 数据方案 。 2)在弹出的下拉菜单中,点击 导入 。
通过如下操作步骤,导入本地测试数据:
1)点击本小节页面左侧的 附件下载 ,然后下载文件 lab.sql 作为测试数据到本地。 2)返回 数据库管理控制台 的 导入 页面,点击 新增任务 ,创建导入数据任务。
通过如下步骤,查看导入表的信息:
1)在左侧栏的左上角下拉框中,可以查看当前数据库为 新建数据库 :bailongfei_db 。 说明:若不是,点击下拉按钮,并选择对应需要查看的数据库名称。 2)点击数据库显示右侧的 刷新 键,刷新数据库信息,可以查看到通过sql文件导入的表信息。 3)点击 表名 ,例如:admin_app_version ,可以查看到所有对表的操作,例如:SQL操作数据、打开表 等等。
通过如下步骤,进入诊断报告页面:
1)点击顶部 性能 。 2)在下拉菜单中,点击 诊断报告 。
通过如下步骤,发起实例诊断:
1)在诊断报告的主页面中,点击左侧的 发起诊断 。
通过如下步骤,查看诊断报告,并进行分析:
1)点击诊断报告右侧的 查看报告 ,弹出诊断报告页面。 2)可以在页面中,查看到如下的诊断报告信息: 实例规格 健康状况 SQL优化 空间诊断 会话列表 慢SQL汇总 性能趋势图
在线实验:数据库上云迁移的实现
step1:创建实验资源
step2:查询源数据库
通过本地远程连接服务,远程登录到 我的实验资源 中的 MySQL源数据库 ECS实例。
运行如下命令,登录到ECS实例的MySQL数据库: mysql -u root -p
通过如下操作,查看源数据库bakery、其中的表customer和product,以及表中的数据。
1)执行如下命令,查看数据库信息。 show databases;
2)执行如下命令,切换数据库为bakery: use bakery;
3)执行如下命令,查看表中数据: show columns from customer;
show columns from product
select * from customer
select * from product
首先,通过如下操作步骤,登录到阿里云RDS管理控制台:
1)点击页面左侧导航栏处的 实验资源 。 2)点击 前往控制台 ,进入阿里云管理控制台RAM登录界面。 3)依次输入 实验资源 提供的 子用户名称 ,子用户密码 。 4)点击 登录 ,进入阿里云管理控制台。 5)顶部导航栏点击产品与服务,下拉菜单中,数据库中选择云数据库RDS版,进入阿里云RDS管理控制台。
通过如下步骤,进入实验资源 云数据库RDS实例 的管理控制台。
1)在顶部地址栏,选择 实验资源 提供的 地域 信息。 2)在搜索栏中,输入 实验资源 提供的 目标数据库 的 实例ID ,并点击 搜索 。 3)在下方搜索结果中,点击实例右侧的 管理 ,进入RDS实例的管理控制台。
通过如下步骤,进入数据库账号创建页面:
1)在RDS实例的管理页面,点击左侧栏的 账号管理 ,进入数据库账号管理页面。 2)在 用户账号 页面,点击 创建账号 。
填写如下信息,完成数据库账号创建:
1)数据库账号:请根据 输入框 下端的 命名规则 ,输入 数据库账号名称,例如:lab_user 。 2)密码 :请根据 输入框 下端的 密码规则 ,输入 密码,例如:Passw0rd; 3)确认密码:再次输入创建的密码。 4)完成如上信息后,点击 确定 。 5)返回 账号管理 的 用户账号 ,查看到新建账号 lab_user 的 状态 为 激活 。
通过如下操作步骤,进入数据库创建页面:
1)点击左侧栏的 数据库管理 ,进入数据库管理页面。 2)在右侧的 数据库管理 页面,点击右侧的 创建数据库 ,进入创建页面。
在创建页面中,添加如下信息:
1)数据库(DB)名称:请根据 输入框 下端的 命名规则 ,输入 数据库名称,例如:lab_db 。 2)支持字符集:默认设为 utf8 。 3)授权帐号:选择新建数据库账号 bailongfei。 4)账号类型:默认设置为 读写 。 5)完成如上配置信息后,点击底部的 确定 ,完成数据库的创建。 6)在 数据库管理 页面中,等待1分钟左右,点击右上角的 刷新 ,可以查看到数据库 lab_db 的 数据库状态 为 运行中 ,且 绑定账号 为 新建数据库账号 bailongfei 。
通过如下步骤,进入数据迁移管理页面:
1)点击页面右上角的 导入数据库 。进入 数据迁移服务 的管理页面。 2)点击左侧栏 数据迁移 ,进入数据迁移的管理页面。 3)点击 数据迁移 右上角的 创建迁移任务 。
新建一个迁移任务,按照如下步骤,输入 源库信息 的配置信息:
任务名称:自定义一个名称,以便能找到自己的数据迁移任务。 2)实例类型:选择 有公网IP的自建数据库 。 3)实例地区: 选择 实验资源 中分配的 地域 ,例如:华东1 4)数据库类型:选择 MySQL 。 5)主机名或IP地址:输入 实验资源 中分配的 MySQL源数据库 ECS实例的 弹性IP。 6)端口:使用默认端口号 3306 7)数据库账号:输入ECS上自建MySQL的 数据库账号 ,root;数据库密码:自建MySQL的访问密码,123456 8)完成如上配置后,点击右侧的 测试链接 ,测试自建MySQL数据库的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。
按照如下步骤,完成 目标库信息 的配置信息:
1)实例类型:选择 RDS实例 2)实例地区:选择 实验资源 中分配的 地域 ,例如:华东1 3)RDS实例ID :选择 实验资源 中提供的 目标数据库 的 实例ID 4)数据库账号:输入RDS实例中新建的 数据库账号 ,lab_user ;数据库密码:新建数据库的密码,Passw0rd 5)完成如上配置后,点击右侧的 测试链接 ,测试RDS账号的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。 6)完成如上的配置后,点击右下角的 授权白名单并进入下一步 。
通过如下步骤,配置迁移任务的 迁移类型及列表:
1)勾选左侧 迁移对象 中的本地MySQL数据库中的bakery 2)点击 > 3)数据库 bakery 移动到 已选择对象 的列表中。 4)完成如上配置后,点击右下角的 预检查并启动 。
按照如下内容,购买迁移任务的配置:
1)链路地域:使用默认地域 2)链路规格:选择 small 3)勾选 《数据传输(按量付费)服务条款》 4)完成如上配置后,点击 立即购买并启动
此时,页面迁移任务的状态为 迁移中 ,等待3-4分钟,状态变为 已完成 。
进入RDS管理控制台。在实例列表界面中,点击右上角的登录数据库,进入数据库登录界面。
在弹出的页面中,输入如下的信息: 网络地址:端口:请输入 实验资源 中,RDS 目标数据库 提供的 链接地址 以及端口号 3306。 例如:提供的RDS 链接地址为 rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com ,则输入信息为: rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com:3306 用户名:输入新建数据库账号 lab_user 密码:输入新建数据库密码 Passw0rd 完成后,点击 登录 。
如下图,进入数据库管理页面,证明数据库迁移成功。
掌握云存储OSS
阿里云OSS产品概要
对象存储服务(object storage service,简称OSS)是阿里云对外提供的云存储服务。RESTFul API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费真正使您专注于核心业务
好处:
主要功能:
OSS是一种面向互联网的分布式存储服务,用户可以通过API或者web页面在任何应用,任何时间,任何地点上传和下载数据,使您轻松应对海量数据的存储和访问,将存储的难题交给OSS解决。
弹性扩展:海量的存储空间,随用户使用量的增加,空间弹性增长
大规模:能支持同时间内高并发、大流量的读写访问
图片处理:对存储在OSS上的图片,支持缩略、裁剪、水印、压缩和格式转换等图片处理功能
按需付费:对存储空间、网络流量、请求次数,按照用户实际使用量进行计费,节省用户成本
OSS与传统自建服务器存储对比
阿里云OSS基本概念
Object
用户的每个文件都是一个Object
文件大小限制:put object方式最大不能超过5GB,使用multpart上传方式object大小不能超过48.8TB
object包含key,data和meta data
Bucket
每个Object必须都包含在bucket中
bucket名在整个OSS中具有全局唯一性,且不能修改
一个用户最多可创建10个bucket
每个bucket中存放的object的数量和大小总和没有限制
一个应用可以对应一个或多个bucket
Service
提供给用户的虚拟存储空间,用户可以在这个存储空间中拥有一个或者多个Bucket
Access ID & Access Key(API密钥)
OSS的数据组织结构
OSS的访问域名
针对OSS的网络请求,除了GetService这个API以外,其他的所有请求都是针对具体bucket的三级域名
构成规则由bucketname和endpoint构成: bucketname.endpoint
endpoint根据bucket所在的数据中心的不通,内外网访问方式的不同会有所区分
Object外链地址的构成规则
如果bucket的权限为公共读或者公共读写的时候,Object的访问规则如下: http://.<数据中心域名>/
OSS的基本操作
Bucket操作
Object操作
OSS的API与SDK介绍
OSS API调用说明
调用方式:
对OSS API接口调用是通过向OSS API的服务端地址发送HTTP请求,并按照接口说明在请求中加入响应请求参数来完成的
根据请求的处理情况,系统会返回处理结果
服务地址:
OSS API的服务接入地址为:oss.aliyuncs.com
通信协议:
支持通过HTTP或者HTTPS通道进行请求通信。为了获取更高的安全性,推荐使用HTTPS通道发送请求
OSS API接口列表
对象存储服务OSS API使用示例
OSS SDK支持的开发包
JAVA
Python
Android
iOS
php
C
.NET
NodeJS
基于OSS SDK进行开发
必须创建AK
阿里云OSS之静态网站托管
默认首页:用来设置索引页面(相当于网站的index.html)
默认404页:设置访问错误路径时返回的默认404页,仅支持当前bucket下html格式的文件,如果为空则不启用默认404页设置
注意事项
如果默认页面为空,表示不启用静态网页托管,即表示采用静态网页托管必须设置默认首页
如果希望启用自己的域名,可以使用CNAME绑定域名
在线实验:云存储OSS使用初体验
step1:创建资源
step2:查看图片分享网站
本小节将展示一个在ECS上已搭建的图片分享网站,以及图片分享网站的源码。
首先,在浏览器中新建一个页面。然后,在浏览器的地址栏中,输入本次实验分配的ECS实例 弹性IP。查看到当前页面中显示1张“花园”的图片,该图片实际是由4张小图片组成的。
远程登录到ECS服务器,查看图片并分享网站的源码。登录信息请使用本实验 实验资源 提供的ECS服务器的 外网地址,用户名和 密码。
登录到ECS服务器后,执行如下命令,进入网站系统的根目录。 cd /alidata/www/default
ls
在浏览器中,新建一个页面,并在地址栏中输入 /01.png,可以查看到01.png的图片内容。同理,可以查看"02.png","03.png"以及“04.png”的图片内容。
使用如下命令,查看网站首页的源码,可以看到图片分享网页中显示的图片,是从网站根目录 /alidata/www/default 中,读取图片 01.png,02.png,03.png 和 04.png拼接的。 cat index.html
本小节将存储在本地的图片上传到OSS Bucket中,从而,图片分享网站将从OSS Bucket中读取图片,本地无需保存图片。
在ECS实例的 /alidata/www/default 目录中,执行如下命令,进入 cfg.json 的编辑页面,并修改OSS的配置信息。 vim cfg.json
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
执行如下命令,将01.png上传到OSS,该脚本使用OSS 提供的API接口put_object_from_file()将本地文件上传到 实验资源 分配的 Object路径 中。 python oss_upload.py 01.png
首先,请点击左侧的 实验资源,然后点击 前往管理控制台,访问阿里云RAM登录界面。在阿里云RAM登录界面,输入本次实验 实验资源 中分配的 子用户名称 和 子用户密码 。点击 登录,进入阿里云管理控制台。
登录成功后,找到并点击 对象存储OSS,从而进入OSS管理控制台。
进入OSS管理控制台后,在 概览 的 Bucket 栏中,点击 实验资源 提供的 Bucket名称,例如 lab-oss-898hd2,进入 lab-oss-898hd2 Bucket管理页面。
点击 文件管理 ,可以查看到当前Object列表中存在一个或多个文件夹。点击 实验资源 分配的一级 Object路径。例如:用户分配的 Object路径 为 SL004/u-xxx/,则 SL004 为一级Object路径。点击 SL004,进入Object “SL004” 路径中。
在“SL004”的Object路径中,点击云中沙箱分配的二级 Object路径。例如:用户分配的 Object路径 为 SL004/u-xxx/,则 u-xxx 为二级Object路径。点击 u-xxx 进入Object SL004/u-xxx 路径中。 此时,在Object管理的列表的第一行中,用户可以查看到当前Object路径信息。在 Object管理 的Object列表中,展示已上传并保存到“SL 004/u-xxx/”路径下的4张图片:01.png,02.png,03.png,04.png。
返回ECS实例终端页面,执行下面命令进入alidata/www/default目录。 cd /alibaba/www/default
然后执行如下命令,删除当前目录中的所有“.png”文件,也就是,图片分享网站中读取的4张图片01.png, 02.png, 03.png 和 04.png。 rm -rf *.png
执行查看文件命令,查看当前目录中无图片文件,证明图片已删除。 ls
打开(在浏览器的地址栏中,输入 实验资源 分配的ECS 外网地址 并访问)或刷新图片分享网站主页面,查看到当前页面中所有图片均无法正常显示。这是因为图片分享网站读取的是本地图片文件,而本地存储的图片文件已被删除,因此无法读取到图片信息。
接下来,将重新配置index.html中的图片访问信息,按照以下步骤将图片链接修改为上传到OSS的图片的URL访问地址:
返回OSS管理控制台,进入云中沙箱 实验资源 分配的 Object路径 中,获取图片的URL访问地址。点击 01.png ,找到并点击右侧弹出框的 复制文件 URL。
执行如下命令返回ECS服务器的/alidata/www/default目录下,并进入服务器访问首页 index.html 的编辑界面。 cd /alidata/www/default
vim index.html
在 下,找到第一张图片的链接参数 src=“01.png”,删除01.png,并粘贴上面步骤中复制的上传到OSS 01.png 图片的访问 地址。 同理,修改 02.png,03.png,04.png的链接地址为OSS的存储地址。
完成所有图片的修改后,点击 esc键 退出编辑状态,执行以下命令保存并退出编辑页面。 wq
在浏览器中,刷新 ECS实例的 外网地址 的访问页面,页面将再次显示 花园 的图片,说明现在网站可以使用存储在OSS上的图片来显示页面。
在线实验:使用OSS API上传和下载文件
step1:创建实验资源
step2:调用OSS API上传小文件
OSS 上传方式分为两类:简单上传和分块上传;其中,简单上传由于不支持断点续传,适合用于上传小文件;而分块上传支持断点续传,适合上传比较大的文件,一般超过100MB 的文件都推荐使用分块上传。 本小节中,使用OSS Python SDK 调用 OSS API,将用户本地的小文件上传到本次实验分配的 Object路径 中。
首先,远程登录到 OSS Python环境 的ECS服务器,请使用本实验提供的ECS服务器的 外网地址 ,用户名 和 密码 。
登录到 ECS 服务器后,在使用 OSS API 进行文件上传和下载之前,用户需配置阿里云账号的 AccessKeyID, AccessKeySecret 和 Endpoint 信息(均可从 实验资源 获取),以便于通过 OSS 的权限验证。在 ECS 命令行中,使用命令 cd aliyun-lab 进入 aliyun-lab 目录。 然后,使用命令 vim configure.json ,configure.json 文件用于提供调用 OSS API 时所需的公共参数。
完成 OSS 的基本配置信息后,在 aliyun-lab 路径下,执行命令 vim object_upload.py ,修改脚本文件 object_upload.py 。此脚本通过调用 OSS API,上传本地文件 (__file_name:本地文件路径) 到 bucket 中,并重命名 object (__object_name:Bucket中Object名称) 。在代码的 #调用OSS API的put_object()上传文件 下方,添加如下的代码,完成修改后,保存脚本并退出编辑页面。
with open ( __file_name, 'rb' ) as fileobj:
bucket. put_object( __object_name, fileobj)
执行如下命令,运行脚本程序。将本地文件 lab.txt 上传到本实验分配 OSS bucket 的 Object 路径下,并重命名为 lab_object.txt 。
输入命令 cat lab.txt ,查看上传到OSS指定路径的文件内容:Hello first object! 。
7. 返回 OSS 管理控制台,并进入 实验资源 分配的 Bucket 和该 Bucket 的 Object 路径下,点击右上角的 刷新 ,刷新 Object 管理页面。此时,在 Object 径下,查看到通过Python SDK上传的文件 lab_object.txt 。
在真实的工作环境中,存储在 OSS 环境下的文件资源,可能由于业务需求,需要下载到本地,进行审计等。本小节将介绍如何将 OSS 中的对象文件通过 API 下载到本地服务器。
返回 ECS 服务器访问终端,在 ECS 的 aliyun-lab 目录下,执行命令 vim object_download.py ,修改脚本文件 object_download.py 。此脚本通过调用 OSS API,下载 OSS的 bucket 中名称为 __object_name 的 object 到本地,并重命名为 __local_name 。在代码的 #调用OSS API的get_object_to_file()下载object 下方。添加如下的代码,完成修改后,保存脚本。
bucket. get_object_to_file( __object_name, __local_name)
执行如下命令,将 OSS 存储的文件 lab_object.txt 下载到本地,并重命名为 lab_local.txt 。下载成功后,执行命令 ls ,列出当前目录下所有的文件,可以看到文件lab_local.txt 已经保存在当前目录下。
执行命令 cat lab_local.txt 和 cat lab.txt ,分别查看原文件与下载后的文件,对比两个文件中的内容,可以发现两个文件中的内容一致,证明 object 下载并成功保存到本地。
在真实的生产环境中,由于 OSS 主要用于存储对象文件等。因此,为了避免大量的垃圾文件存在,建议用户对垃圾资源进行清理,这样不仅可以节约资源也可以节约用户在存储服务中的开销。本小节中,用户将体验如何通过调用OSS API,清理垃圾 Object 资源。
返回ECS服务器访问终端界面,然后,执行 vim object_delete.py ,修改脚本文件 object_delete.py 。此脚本通过调用 OSS API ,删除 OSS Bucket 中的 object。在代码的 #调用OSS API batch_delete_objects(),批量删除objects 下方。添加如下的代码,完成修改后,保存脚本。
result = bucket. batch_delete_objects( [ __object_name] )
执行命令 python object_delete.py /lab_object.txt 。删除 bucket 中的指定路径的 object 。 3. 此时,浏览器返回OSS管理控制台的 Object管理 页面,并点击右上角的 刷新 ,将会看到本次实验提供的 OSS 环境中,没有任何 Object 数据。