您的位置:首页 > 其它

阿里云ACA认证课程学习(RDS&OSS)

2020-07-13 04:52 323 查看

传送门

阿里云高校计划

云数据库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实例的服务器所处的地理位置

RDS数据库

  • 是用户在一个实例下创建的逻辑单元
  • 一个实例可以创建多个数据库,在实例内数据库命名唯一
  • MySQL类型实例,最多可以创建500个数据库,而SQL Server类型实例最多可创建50个数据库
  • 所有数据库都会共享该实例下的资源,如CPU、内存、磁盘容量等

RDS数据库账号

  • 每个数据库账号可以用于多个数据库
  • 同时每个数据库的读写权限也可被分配给多个数据库账号
  • 一个账号可以创建多个实例
  • 对于MySQL和SQL Server类型实例,每个实例最多可创建500个数据库账号

RDS连接数

  • 应用程序可同时连接到RDS实例的连接数量

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)依次输入 实验资源 提供的 子用户名称 、子帐号密码 ,然后点击 登录 。

    1. 通过如下步骤,进入实验资源 云数据库RDS实例 的管理控制台。

    1)在顶部地址栏,选择 实验资源 提供的 地域 信息。
    2)在搜索栏中,输入 实验资源 提供的 云数据库RDS实例 的 实例ID ,并点击 搜索 。
    3)在下方搜索结果中,点击实例右侧的 管理 ,进入RDS实例的管理控制台。

  • step4:创建RDS数据库账号
      通过如下步骤,进入数据库账号创建页面:

    在RDS实例的管理页面,点击左侧栏的 账号管理 ,进入数据库账号管理页面。 在 用户账号 页面,点击 创建账号 。

    1. 填写如下信息,完成数据库账号创建:

1)数据库账号:请根据 输入框 下端的 命名规则 ,输入 数据库账号名称,例如:lab_user ,账号类型选择普通账号。
2)密码 :请根据 输入框 下端的 密码规则 ,输入 密码,例如:Passw0rd;
3)确认密码:再次输入创建的密码。 3. 自动返回 账号管理 的 用户账号 页面,查看到新建账号 lab_user 的 状态 为 激活 。

  • step5:创建RDS数据库
  1. 通过如下操作步骤,进入数据库创建页面:

1)点击左侧栏的 数据库管理 ,进入数据库管理页面。
2)在右侧的 数据库管理 页面,点击右侧的 创建数据库 ,进入创建页面。
1)数据库(DB)名称:请根据 输入框 下端的 命名规则 ,输入 数据库名称
2)支持字符集:默认设为 utf8 。
3)授权帐号:选择新建数据库账号
4)账号类型:默认设置为 读写 。
5)完成如上配置信息后,点击底部的 创建 ,完成数据库的创建。

  1. 在 数据库管理 页面中,等待1分钟左右,点击右上角的 刷新 ,可以查看到数据库 bailongfei_db 的 数据库状态 为 运行中 ,且 绑定账号 为 新建数据库账号 bailongfei 。
  • step6:登录RDS数据库
  1. 点击左上角产品与服务,点击数据管理DMS,进入到DMS控制台。
  2. 选择左侧栏中快捷登录,RDS登录。
  3. 通过如下步骤,查看登录的 网路地址:端口 的信息:

1)返回RDS管理控制台,点击左侧 基本信息 。
2)点击 内网地址 并复制 ,拷贝RDS实例的内网连接地址。
3)查看 内网端口 为 3306 。
4.返回数据库管理控制台,输入如下信息:
1)第一行:信息已经默认输入 内网地址:3306 。
2)第二行:输入 新建数据库账号 ,lab_user 。
3)第三行:输入 新建数据库账号密码 ,Passw0rd 。
4)点击 登录 ,登录到数据库管理系统。

  • step7:导入测试数据
  1. 通过如下操作步骤,进入数据库导入的页面:

1)点击页面顶部的 数据方案 。
2)在弹出的下拉菜单中,点击 导入 。

  1. 通过如下操作步骤,导入本地测试数据:

1)点击本小节页面左侧的 附件下载 ,然后下载文件 lab.sql 作为测试数据到本地。
2)返回 数据库管理控制台 的 导入 页面,点击 新增任务 ,创建导入数据任务。

  1. 通过如下步骤,查看导入表的信息:

1)在左侧栏的左上角下拉框中,可以查看当前数据库为 新建数据库 :bailongfei_db 。
说明:若不是,点击下拉按钮,并选择对应需要查看的数据库名称。
2)点击数据库显示右侧的 刷新 键,刷新数据库信息,可以查看到通过sql文件导入的表信息。
3)点击 表名 ,例如:admin_app_version ,可以查看到所有对表的操作,例如:SQL操作数据、打开表 等等。

  • step8:查看诊断报告
  1. 通过如下步骤,进入诊断报告页面:

1)点击顶部 性能 。
2)在下拉菜单中,点击 诊断报告 。

  1. 通过如下步骤,发起实例诊断:

1)在诊断报告的主页面中,点击左侧的 发起诊断 。

  1. 通过如下步骤,查看诊断报告,并进行分析:

1)点击诊断报告右侧的 查看报告 ,弹出诊断报告页面。
2)可以在页面中,查看到如下的诊断报告信息:
实例规格
健康状况
SQL优化
空间诊断
会话列表
慢SQL汇总
性能趋势图

在线实验:数据库上云迁移的实现

  • step1:创建实验资源
  • step2:查询源数据库
  1. 通过本地远程连接服务,远程登录到 我的实验资源 中的 MySQL源数据库 ECS实例。
  2. 运行如下命令,登录到ECS实例的MySQL数据库:
    mysql -u root -p

  3. 通过如下操作,查看源数据库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



  • step3:建立目标数据库
  1. 首先,通过如下操作步骤,登录到阿里云RDS管理控制台:

1)点击页面左侧导航栏处的 实验资源 。
2)点击 前往控制台 ,进入阿里云管理控制台RAM登录界面。
3)依次输入 实验资源 提供的 子用户名称 ,子用户密码 。
4)点击 登录 ,进入阿里云管理控制台。
5)顶部导航栏点击产品与服务,下拉菜单中,数据库中选择云数据库RDS版,进入阿里云RDS管理控制台。

  1. 通过如下步骤,进入实验资源 云数据库RDS实例 的管理控制台。

1)在顶部地址栏,选择 实验资源 提供的 地域 信息。
2)在搜索栏中,输入 实验资源 提供的 目标数据库 的 实例ID ,并点击 搜索 。
3)在下方搜索结果中,点击实例右侧的 管理 ,进入RDS实例的管理控制台。

  1. 通过如下步骤,进入数据库账号创建页面:

1)在RDS实例的管理页面,点击左侧栏的 账号管理 ,进入数据库账号管理页面。
2)在 用户账号 页面,点击 创建账号 。

  1. 填写如下信息,完成数据库账号创建:

1)数据库账号:请根据 输入框 下端的 命名规则 ,输入 数据库账号名称,例如:lab_user 。
2)密码 :请根据 输入框 下端的 密码规则 ,输入 密码,例如:Passw0rd;
3)确认密码:再次输入创建的密码。
4)完成如上信息后,点击 确定 。
5)返回 账号管理 的 用户账号 ,查看到新建账号 lab_user 的 状态 为 激活 。

  1. 通过如下操作步骤,进入数据库创建页面:

1)点击左侧栏的 数据库管理 ,进入数据库管理页面。
2)在右侧的 数据库管理 页面,点击右侧的 创建数据库 ,进入创建页面。

  1. 在创建页面中,添加如下信息:

1)数据库(DB)名称:请根据 输入框 下端的 命名规则 ,输入 数据库名称,例如:lab_db 。
2)支持字符集:默认设为 utf8 。
3)授权帐号:选择新建数据库账号 bailongfei。
4)账号类型:默认设置为 读写 。
5)完成如上配置信息后,点击底部的 确定 ,完成数据库的创建。
6)在 数据库管理 页面中,等待1分钟左右,点击右上角的 刷新 ,可以查看到数据库 lab_db 的 数据库状态 为 运行中 ,且 绑定账号 为 新建数据库账号 bailongfei 。

  • step4:数据库迁移
  1. 通过如下步骤,进入数据迁移管理页面:

1)点击页面右上角的 导入数据库 。进入 数据迁移服务 的管理页面。
2)点击左侧栏 数据迁移 ,进入数据迁移的管理页面。
3)点击 数据迁移 右上角的 创建迁移任务 。

  1. 新建一个迁移任务,按照如下步骤,输入 源库信息 的配置信息:
  1. 任务名称:自定义一个名称,以便能找到自己的数据迁移任务。
    2)实例类型:选择 有公网IP的自建数据库 。
    3)实例地区: 选择 实验资源 中分配的 地域 ,例如:华东1
    4)数据库类型:选择 MySQL 。
    5)主机名或IP地址:输入 实验资源 中分配的 MySQL源数据库 ECS实例的 弹性IP。
    6)端口:使用默认端口号 3306
    7)数据库账号:输入ECS上自建MySQL的 数据库账号 ,root;数据库密码:自建MySQL的访问密码,123456
    8)完成如上配置后,点击右侧的 测试链接 ,测试自建MySQL数据库的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。
  1. 按照如下步骤,完成 目标库信息 的配置信息:

1)实例类型:选择 RDS实例
2)实例地区:选择 实验资源 中分配的 地域 ,例如:华东1
3)RDS实例ID :选择 实验资源 中提供的 目标数据库 的 实例ID
4)数据库账号:输入RDS实例中新建的 数据库账号 ,lab_user ;数据库密码:新建数据库的密码,Passw0rd
5)完成如上配置后,点击右侧的 测试链接 ,测试RDS账号的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。
6)完成如上的配置后,点击右下角的 授权白名单并进入下一步 。

  1. 通过如下步骤,配置迁移任务的 迁移类型及列表:

1)勾选左侧 迁移对象 中的本地MySQL数据库中的bakery
2)点击 >
3)数据库 bakery 移动到 已选择对象 的列表中。
4)完成如上配置后,点击右下角的 预检查并启动 。

  1. 按照如下内容,购买迁移任务的配置:

1)链路地域:使用默认地域
2)链路规格:选择 small
3)勾选 《数据传输(按量付费)服务条款》
4)完成如上配置后,点击 立即购买并启动

  1. 此时,页面迁移任务的状态为 迁移中 ,等待3-4分钟,状态变为 已完成 。
  • step 5:查阅迁移结果
  1. 进入RDS管理控制台。在实例列表界面中,点击右上角的登录数据库,进入数据库登录界面。

在弹出的页面中,输入如下的信息:
网络地址:端口:请输入 实验资源 中,RDS 目标数据库 提供的 链接地址 以及端口号 3306。
例如:提供的RDS 链接地址为
rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com
,则输入信息为:
rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com:3306
用户名:输入新建数据库账号 lab_user
密码:输入新建数据库密码 Passw0rd
完成后,点击 登录 。

  1. 如下图,进入数据库管理页面,证明数据库迁移成功。

掌握云存储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的访问域名

  • 针对OSS的网络请求,除了GetService这个API以外,其他的所有请求都是针对具体bucket的三级域名
  • 构成规则由bucketname和endpoint构成:
    bucketname.endpoint

    endpoint根据bucket所在的数据中心的不通,内外网访问方式的不同会有所区分

Object外链地址的构成规则

  • 如果bucket的权限为公共读或者公共读写的时候,Object的访问规则如下:
    http://<bucketname>.<数据中心域名>/<objectname>

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:查看图片分享网站
  1. 本小节将展示一个在ECS上已搭建的图片分享网站,以及图片分享网站的源码。
  2. 首先,在浏览器中新建一个页面。然后,在浏览器的地址栏中,输入本次实验分配的ECS实例 弹性IP。查看到当前页面中显示1张“花园”的图片,该图片实际是由4张小图片组成的。
  3. 远程登录到ECS服务器,查看图片并分享网站的源码。登录信息请使用本实验 实验资源 提供的ECS服务器的 外网地址,用户名和 密码。
  4. 登录到ECS服务器后,执行如下命令,进入网站系统的根目录。
    cd /alidata/www/default

    ls


    在浏览器中,新建一个页面,并在地址栏中输入 <ECS实例外网地址>/01.png,可以查看到01.png的图片内容。同理,可以查看"02.png","03.png"以及“04.png”的图片内容。
  5. 使用如下命令,查看网站首页的源码,可以看到图片分享网页中显示的图片,是从网站根目录 /alidata/www/default 中,读取图片 01.png,02.png,03.png 和 04.png拼接的。
    cat index.html

  • step3:上传图片文件
  1. 本小节将存储在本地的图片上传到OSS Bucket中,从而,图片分享网站将从OSS Bucket中读取图片,本地无需保存图片。
  2. 在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

  1. 执行如下命令,将01.png上传到OSS,该脚本使用OSS 提供的API接口put_object_from_file()将本地文件上传到 实验资源 分配的 Object路径 中。
    python oss_upload.py 01.png
  2. 首先,请点击左侧的 实验资源,然后点击 前往管理控制台,访问阿里云RAM登录界面。在阿里云RAM登录界面,输入本次实验 实验资源 中分配的 子用户名称 和 子用户密码 。点击 登录,进入阿里云管理控制台。
  3. 登录成功后,找到并点击 对象存储OSS,从而进入OSS管理控制台。
  4. 进入OSS管理控制台后,在 概览 的 Bucket 栏中,点击 实验资源 提供的 Bucket名称,例如 lab-oss-898hd2,进入 lab-oss-898hd2 Bucket管理页面。
  5. 点击 文件管理 ,可以查看到当前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。

  • step4:使用OSS存储图片分享网站
  1. 返回ECS实例终端页面,执行下面命令进入alidata/www/default目录。
    cd /alibaba/www/default

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

    执行查看文件命令,查看当前目录中无图片文件,证明图片已删除。
    ls
  2. 打开(在浏览器的地址栏中,输入 实验资源 分配的ECS 外网地址 并访问)或刷新图片分享网站主页面,查看到当前页面中所有图片均无法正常显示。这是因为图片分享网站读取的是本地图片文件,而本地存储的图片文件已被删除,因此无法读取到图片信息。
  3. 接下来,将重新配置index.html中的图片访问信息,按照以下步骤将图片链接修改为上传到OSS的图片的URL访问地址:
  1. 返回OSS管理控制台,进入云中沙箱 实验资源 分配的 Object路径 中,获取图片的URL访问地址。点击 01.png ,找到并点击右侧弹出框的 复制文件 URL。
  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的存储地址。
  4. 完成所有图片的修改后,点击 esc键 退出编辑状态,执行以下命令保存并退出编辑页面。
    wq
  1. 在浏览器中,刷新 ECS实例的 外网地址 的访问页面,页面将再次显示 花园 的图片,说明现在网站可以使用存储在OSS上的图片来显示页面。

在线实验:使用OSS API上传和下载文件

  • step1:创建实验资源
  • step2:调用OSS API上传小文件
  1. OSS 上传方式分为两类:简单上传和分块上传;其中,简单上传由于不支持断点续传,适合用于上传小文件;而分块上传支持断点续传,适合上传比较大的文件,一般超过100MB 的文件都推荐使用分块上传。 本小节中,使用OSS Python SDK 调用 OSS API,将用户本地的小文件上传到本次实验分配的 Object路径 中。
  2. 首先,远程登录到 OSS Python环境 的ECS服务器,请使用本实验提供的ECS服务器的 外网地址 ,用户名 和 密码 。
  3. 登录到 ECS 服务器后,在使用 OSS API 进行文件上传和下载之前,用户需配置阿里云账号的 AccessKeyID, AccessKeySecret 和 Endpoint 信息(均可从 实验资源 获取),以便于通过 OSS 的权限验证。在 ECS 命令行中,使用命令 cd aliyun-lab 进入 aliyun-lab 目录。 然后,使用命令 vim configure.json ,configure.json 文件用于提供调用 OSS API 时所需的公共参数。
  4. 完成 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)
  1. 执行如下命令,运行脚本程序。将本地文件 lab.txt 上传到本实验分配 OSS bucket 的 Object 路径下,并重命名为 lab_object.txt 。
  2. 输入命令 cat lab.txt ,查看上传到OSS指定路径的文件内容:Hello first object! 。


7. 返回 OSS 管理控制台,并进入 实验资源 分配的 Bucket 和该 Bucket 的 Object 路径下,点击右上角的 刷新 ,刷新 Object 管理页面。此时,在 Object 径下,查看到通过Python SDK上传的文件 lab_object.txt 。

  • step3:调用OSS API下载小文件
  1. 在真实的工作环境中,存储在 OSS 环境下的文件资源,可能由于业务需求,需要下载到本地,进行审计等。本小节将介绍如何将 OSS 中的对象文件通过 API 下载到本地服务器。
  2. 返回 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)
  1. 执行如下命令,将 OSS 存储的文件 lab_object.txt 下载到本地,并重命名为 lab_local.txt 。下载成功后,执行命令 ls ,列出当前目录下所有的文件,可以看到文件lab_local.txt 已经保存在当前目录下。
  2. 执行命令 cat lab_local.txt 和 cat lab.txt ,分别查看原文件与下载后的文件,对比两个文件中的内容,可以发现两个文件中的内容一致,证明 object 下载并成功保存到本地。
  • step4:调用OSS API删除Object
  1. 在真实的生产环境中,由于 OSS 主要用于存储对象文件等。因此,为了避免大量的垃圾文件存在,建议用户对垃圾资源进行清理,这样不仅可以节约资源也可以节约用户在存储服务中的开销。本小节中,用户将体验如何通过调用OSS API,清理垃圾 Object 资源。
  2. 返回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 <Bucket 名称> <Object路径>/lab_object.txt 。删除 bucket 中的指定路径的 object 。

3. 此时,浏览器返回OSS管理控制台的 Object管理 页面,并点击右上角的 刷新 ,将会看到本次实验提供的 OSS 环境中,没有任何 Object 数据。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: