内容导读
- 阿里云对象存储OSS简介
- 阿里云OSS根本操作
- 阿里云OSS的API与SDK介绍
- 阿里云OSS静态网站托管
- 云存储OSS案例剖析
一、阿里云对象存储OSS简介
1、什么是阿里云OSS
阿里云对象存储服务(Object Storage Service),简称 OSS,是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计长期性不低于 99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。
OSS 具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意范例的数据。
可以使用阿里云提供的 API、SDK 接口或者 OSS 迁徙工具轻松地将海量数据移入或移出阿里云 OSS。
数据存储到阿里云 OSS 以后,可以选择尺度存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)和归档存储(Archive)作为不常常访问数据的存储方式。
2、相干概念
存储范例(Storage Class)
OSS 提供尺度、低频访问、归档三种存储范例,全面覆盖从热到冷的各种数据存储场景。
存储空间(Bucket)
存储空间是您用于存储对象(Object)的容器,全部的对象都必须从属于某个存储空间。
对象/文件(Object)
对象是 OSS 存储数据的根本单元,也被称为 OSS 的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。
地区(Region)
地区表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等选择合适的地区创建 Bucket。
访问域名(Endpoint)
Endpoint 表示 OSS 对外服务的访问域名。OSS 以 HTTP RESTful API 的形式对外提供服务,当访问差别地区的时间,需要差别的域名。通过内网和外网访问同一个地区所需要的域名也是差别的。
访问密钥(AccessKey)
AccessKey(简称 AK)指的是访问身份验证中用到的 AccessKeyId 和 AccessKeySecret。OSS 通过使用 AccessKeyId 和 AccessKeySecret 对称加密的方法来验证某个请求的发送者身份。AccessKeyId 用于标识用户;AccessKeySecret 是用户用于加密签名字符串和 OSS 用来验证签名字符串的密钥,必须保密。
3、相干服务
图片处置惩罚(IMG):对存储在 OSS 上的图片举行格式转换、缩放、裁剪、旋转、添加水印等各种操作。
云服务器(ECS):提供简单高效、处置惩罚能力可弹性伸缩的云端计算服务。
内容分发网络(CDN):将 OSS 资源缓存到各区域的边沿节点,使用边沿节点缓存的数据,提升同一个文件,被边沿节点客户大量重复下载的体验。
E-MapReduce:构建于 ECS 上的大数据处置惩罚的系统办理方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处置惩罚自己的数据。
媒体处置惩罚:将存储于 OSS 的音视频转码成得当在 PC、TV 以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能考核、内容理解、智能编辑。
4、管理OSS
通过 OSS 控制台管理 OSS
OSS 提供了 Web 服务页面,您可以登录 OSS 管理控制台,管理您的 OSS。
通过 API 或 SDK 管理 OSS
OSS 提供 RESTful API 和各种语言的 SDK 开辟包,方便您快速举行二次开辟。
通过工具管理 OSS
OSS 提供各范例的管理工具,您可以通过工具管理您的 OSS。
二、阿里云OSS根本操作
1、OSS根本操作的流程
2、开通OSS服务
(1)前提条件
在使用阿里云 OSS 服务之前,请确保您已经注册了阿里云账号并完成实名认证。如果您还没有创建阿里云账号,系统会在您开通 OSS 时提示您注册账号。
(2)操作步骤
登录阿里云官网。
将鼠标移至产物,单击对象存储 OSS,打开 OSS 产物详情页面。
在 OSS 产物详情页,单击立刻开通。
开通服务后,在 OSS 产物详情页单击管理控制台直接进入 OSS 管理控制台界面。
也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的对象存储 OSS 菜单进入 OSS 管理控制台界面。
3、创建存储空间
开通阿里云OSS服务后,我们首先要创建存储空间(Bucket)来存储文件。
(1)三种方式创建存储空间
使用OSS管理控制台(进入管理控制台按提示完成操作)
使用下令行工具ossutil
使用API/SDK
(2)OSS提供多种语言的API/SDK包,方便您快速举行二次开辟
API接口:PutBucket
Java SDK:创建存储空间
Python SDK:创建存储空间
PHP SDK:创建存储空间
Go SDK:创建存储空间
C SDK:创建存储空间
三、阿里云OSS的API与SDK介绍
1、OSS API参考
主要介绍接口的请求语法、相干参数寄义以及请求和返回示例
关于Service操作之GetService:
对服务地点做Get请求可以返回请求者拥有的全部存储空间(Bucket),此中正斜线(/)表示根目录。
请求语法
GET / HTTP/1.1
Host: oss.example.com
Date: GMT Date
Authorization: SignatureValue
请求示例:
GET / HTTP/1.1
Date: Thu, 15 May 2014 11:18:32 GMT
Host: oss-cn-hangzhou.aliyuncs.com
Authorization: OSS nxj7dtlhcyl5hpvnhi:COS3OQkfQPnKmYZTEHYv2******
关于PutBucket:
PutBucket接口用于创建存储空间(Bucket)。
此接口不支持匿名访问。
同一阿里云账号在同一地区(Region)内最多可创建100个Bucket。
每个地区都有对应的访问域名(Endpoint)。
请求语法
PUT / HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
x-oss-acl: Permission
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
<StorageClass>Standard</StorageClass>
</CreateBucketConfiguration>
关于Object操作之PutObject接口:
用于上传文件(Object)。
请求语法:
PUT /ObjectName HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
简单上传的请求示例:
PUT /test.txt HTTP/1.1
Host: test.oss-cn-zhangjiakou.aliyuncs.com
User-Agent: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0)
Accept: */*
Connection: keep-alive
Content-Type: text/plain
date: Tue, 04 Dec 2018 15:56:37 GMT
authorization: OSS qn6qrrqxo2oawuk53otfjbyc:kZoYNv66bsmc10+dcGKw5x2P****
Transfer-Encoding: chunked
关于LiveChannel:
可以使用RTMP协议将音视频数据上传到OSS,转储为指定格式的音视频文件。上传前需要先创建一个LiveChannel,以获取对应的推流地点。
通过RTMP协议上传音视频数据目前有以下限制:
只能使用RTMP推流的方式,不支持拉流。
必须包含视频流,且视频流格式为H264。
音频流是可选的,而且只支持AAC格式,其他格式的音频流会被抛弃。
转储只支持HLS协议。
一个LiveChannel同时只能有一个客户端向其推流。
2、OSS SDK参考
使用OSS SDK之前,需要:
了解并开通阿里云OSS服务、创建AccessKey
四、阿里云OSS静态网站托管
1、静态网站托管分析
(1)通过OSS API的PutBucketWebsite接口将自己的存储空间设置成静态网站托管模式,并通过存储空间绑定的自定义域名访问该静态网站。
静态网站
是指全部的网页都由静态内容构成,包罗客户端执行的脚本,比方JavaScript。OSS不支持涉及到需要服 务器端处置惩罚的内容,比方PHP、JSP、ASP.NET等。
(2)细节分析
将一个Bucket设置成静态网站托管模式时:
索引页面是必须指定的,错误页面是可选的。
若未开通子目录首页,需包管根目录下有默认首页和默认404页对应的文件,且文件可读。
若开通子目录首页,需包管根目录和子目录下有默认首页文件,根目录下有默认404页文件,且文件可读。
分析:默认首页仅可以设置一个,若需要使用子目录首页,则子目录下的首页文件需要与根目录下的首页文件名称类似,但内容可以差别。
将一个 Bucket 设置成静态网站托管模式后:
对静态网站域名的匿名访问,OSS将返回索引页面;对静态网站根域名的签名访问,OSS 将返回GetBucket结果。
访问不存在的Object时,OSS会返回给用户设定的默认404页对应的文件,对此返回的流量和请求将会计费。
2、托管操作方式
五、云存储OSS案例剖析
1、Web端上传数据至OSS
每个 OSS 的用户都会用到上传服务。Web 端常见的上传方法是用户在浏览器或 APP 端上传文件到应用服务器,应用服务器再把文件上传到 OSS。详细流程如下图所示。
与数据直传到 OSS 相比,以上方法有三个缺点:
上传慢:用户数据需先上传到应用服务器,之后再上传到OSS。
扩展性差:如果后续用户多了,应用服务器会成为瓶颈。
费用高:需要预备多台应用服务器。由于OSS上传流量是免费的,如果数据直传到OSS,不通过应用服务器,那么将能省下几台应用服务器。
2、Web端直传数据到OSS
目前通过 Web 前端技术上传文件到 OSS,有三种技术方案:
(1) 使用OSS Browser.js SDK 将文件上传到 OSS
该方案通过OSS Browser.js SDK直传数据到 OSS。在网络条件不好的状况下可以通过断点续传的方式上传大文件。
(2) 使用表单上传方式,将文件上传到 OSS
使用 OSS 提供的 PostObject 接口,使用表单上传方式将文件上传到 OSS。该方案兼容大部分浏览器,但在网络状况不好的时间,如果单个文件上传失败,只能重试上传。
(3) 通过小步伐上传文件到 OSS
通过小步伐,如微信小步伐、付出宝小步伐等,使用 OSS 提供的 PostObject 接口来实现表单上传。
更多出色内容请关注本站!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |