行业资讯

最新动态、技术干货,汇聚前沿的云计算技术

阿里云OSS使用教程

唯一小编 发布时间:2020-12-21 返回

唯一网络成立于2006年,是国内知名的云服务综合解决方案提供商。专业提供云服务器服务器租用托管云专线云等保一键免费获取方案等一站式云服务综合解决方案提供商。

新用户注册就送千元大礼包销售咨询热线:0769-23015555。

OSS是阿里云服务器推出的云存储案例,说白了就是让你存储文件啊、图片啊此类东西的。有好友也许会有疑惑,我自己服务器上不能存吗?当然可以,可是云存储案例比在自己云服务器上存储文件是有非常多好处的。

唯一网络是阿里云福建/广东省级代理商提供阿里云各产品均可享受代理价折扣哦,详情可以咨询客服哦。

阿里云OSS使用教程

这就引入了第二个问题,为啥要用OSS呢?诚然我们可以在自己服务器上存储图片文件,其实早期我也是这么干的。在流量刚起步阶段,或者压根就没有啥流量的时候,这的确是个明智的方法。假如你入手了台云主机,在上面部署了web服务,少不了也会有数据库服务(Mysql之类),用户上传的图片、文件也放在上面。

随着流量逐渐起来,在图片访问这块就渐渐有压力了,毕竟现在这个年代,手机拍照的像素都是非常不错的,虽然你也采纳了一些常规的压缩优化途径,但在担保不丧失太多细节的情形下,一张图片的大小非常容易也能达到MB吧。然而,一切的文件资源访问带宽都是由你这台主机来承担的,瓶颈会渐渐集合到带宽上。

进展到肯定阶段后,我们会将文件图片以及一些静止资源从web服务主机上脱离出来,应用云存储案例来治理。比如应用阿里云的OSS,好处有以下几点:

1.OSS云存储案例可以单独配置带宽、流量案例,不用再跟WEB主机分享带宽

2.在扩容、备份、峰值流量治理上更为灵活

3.有非常多有用的工具,假如图片处理、缩放等,相对于你自己的解决案例,OSS现成的给你,不要白不要。

4.做CDN案例越发灵活

第一,你得注册并登录一个阿里云账号。在阿里云首页就能看到OSS存储案例的产品介绍。进入到OSS产品介绍界面后,有个“立刻开通”的按钮,点击后进入开通产品的界面,需求勾选“对象存储OSS服务协议”。立刻开通就可以了。

开通顺利后,会有个“治理控制台”,点击就进入了OSS治理控制台。上图就是OSS的治理控制台,以后也可以在用户-控制台中找到OSS产品,然后进来。

左边名目中有个“Bucket列表”,Bucket英文有水桶的意思,我们可以理解为容器。对于OSS来说,Bucket相当于一个存储仓库,仓库存放文件夹和文件。许可创建多个Bucket。

有好友可能要问,我直接就创建文件夹存文件不更便利吗?为啥还要多此一举呢?由于每一个仓库(也就是Bucket)都有自己的配置属性。

我们来尝试创建一个Bucket,并在这个流程中讲解为啥要有这玩意。我们点到Bucket列表名目,会进入到Bucket列表页。如果你刚刚开通OSS,那么这里也肯定是空荡荡地。除了那个愁闷蓝色的“创建Bucket”按钮,也没啥好点击的东西。那么,我们就点击它创建一个吧。第一要填写Bucket名称,这非常当然,毕竟以后要靠这个标识来访问嘛,所以名字最好非常短,要故意义!然后要设置地域内容。这是核心,Bucket仓库是有地域之分的,不同地域的Bucket所在的地理位置一定也是有差别的。所以尽量选择离你web服务近的地域机房吧。

存储类型有三种:

1.标准存储:普通应用场景都默认选择这种。

2.低频访问存储:就是你存的多,访问的少。假如你存一些用户上传的敏感文件,此类文件不是公开的,之许可用户自己查看或者治理员审核查看。低频存储类型的单价要低于标准存储。

3.归档存储:数据长期存储,基础不访问。此类存储单价要比低频访问要更低。不过,真有这么多只存不用的文件,笔者还是建议离线来保存。一来硬盘成本低,二来备份案例多,三来数据在自己手上,更安全。最后讲讲读写权限,一样有三种案例可选:

我们创建了一个名为1doc的bucket。进入1doc治理界面:我们捡一些重大的功能来讲。

1.文件治理。在这里你可以对bucket中的文件进行治理,常用的增、删、改、查。也可以 多见名目,来计划存储路径。我们乃至可以直接在这里上传文件,虽然多数场景中会经过服务端来兑现。-权限治理。你可以在这里设置Bucket的读写权限,我们在创建Bucket的时候就设置过,这里你还可以调整。还可以进行一些防盗链和跨域设置。

2.基本设置。 多见的假如资源到不到,可以设置一个404网页;镜像回源;删除Bucket等操作。

3.冗余与容错。如果你的数据异常重大,可以在这里设置冗余与容错案例。在系统架构的时候,最好对文件资源进行安全优先级脱离,哪些非常重大,哪些普通重大。不同级其他文件资源分开存放不同的Bucket,采纳不同的备份策略。言下之意,不那么重大的文件资源可以离线硬盘冗余备份。

4.传输治理。在这里你可以设置绑定自定义网址,以及OSS传输加速(前提你要购入手加速包)等设置。

5.日志治理。

6.数据处理。可以进行一些图片处理,ZIP包解压等操作设置。图片处理是我们常用的,如今我们基础上会原样上传图片,然后在应用的时候实时裁切缩放,这样灵活性非常高。

7.数据统计。

OSS常用的收费条目有两种:存储包和下行流量。前者意味着你入手的仓库有多大,可以存多少文件;后者决定你可以应用的流量有多少,流量用完了就访问不了了。所以这两者都是需求购入手的。刚开始应用OSS的好友不知道购入手入口在哪,我们在OSS对象存储的根名目中https://oss.console.aliyun.com/overview可以找到“资源包治理”,点开后就可以购入手资源包了。资源包类型,我们刚刚讲过要入手两种,标准(LRS)存储包和下行流量包。地域的话,通常选择大陆通用。存储包规格看你自己需求选择,最后选择购入手经常。

对于下行流量包来说,比如入手了100GB的流量规格,半年的经常。流量用完或者时光到了,都视为流量资源到期,需求重新购入手。

为什么要用?以及怎样选购和配置。我们主要来看看怎样应用,我们以Java和PHP两种语言来示范。

在OSS控制台右侧的Bucket治理界面上,我们可以看到官方提供的新手入门和API文档:

现在我们知道官方既提供了API接口方法接入,有提供了SDK集成的方法。官方提供的SDK覆盖了多数热门的语言技术栈,包含Java、Python、Go、C++、PHP等,非常少情形下我们需求自己经过API的方法来接入。但如果你有代码洁癖或者应用的技术栈的确没有SDK,比如Perl或者Lisp,那可以尝试应用API的方法来接入。

我们就以PHP语言来演示怎么经过API的方法接入OSS。第一,在常用入口那儿可以查询到AccessKey,包含一对AccessKeyID和AccessKeySecret。不论是经过API还是SDK方法接入,这两个参数都是不得不的。

其实,文件上传到OSS上和文件上传到我们自己服务器上的步骤,并没有多少区分,我们还是会用HTTP协议,经过FORM表单的形式上交数据。不同在于构建这个header头的参数有些差别罢了。OSS需求我们在header头中,携带一个Authorization参数,用于验证用户端身份。所以要点就是环绕怎么构建这个参数,来兑现HTTP协议的通信。

既然和我们传统http的form表单上传差别在header上,我们不妨就从header买。第一定义一个数组来放置我们的header参数:

如上示例定义的header头中,包括了一个Host用于指定HTTP协议送达的主机域,另外,OSS的API文档中,需求我们提供一个Date参数来表示时光,格式应用GMT。最后,Content-Type参数来表明我们上传的文件格式。为了演示便利,我们这里写死为”image/png”,表示上传的是png格式的图片。读者可以依据本身业务逻辑来取得并传达这个MIME。

还记得我们上一篇中创建的Bucket名字么?这里就派上用场了,我们得指定文件往哪上传,以为OSS中也许不止一个bucket。通常这个资源标识符是这样的:

仓库(bucket)名称+名目名称+文件名

假设我们在名为1doc的bucket中有个名目叫做images,现在要上传defult.png文件到这个名目中,那么uri就应该是这样子的:

1doc/images/default.png

把这个资源标识符保存到一个变量中,待会应用:

那么要点来了,我们要开始预备构建Authorization参数了。

第一步依据API文档中的指导精神,我们遵守HTTP协议,经过PUT方法来上传文件,拼接出恳求头:

第二步,经过sha1算法将上面这个待签名的字符串和AccessKeySecret加密,再用base64编码:

第三步,应用AccessKeyID与上面的签名字符拼接成最终的Authorization,并加到header头中:

后续的事儿就简洁了,就是一般的HTTP恳求了。当然,我们先预备好要上传的文件:

然后经过curl来上交恳求:

对于PHP而言,笔者重视到OSS近来已经支持composer来引入SDK了,相较于早些年自己去加载.php文件要便利的多。所以,除非没有更好的解决案例,笔者还是建议应用SDK来集成。

我们用java来演示经过sdk的方法接入OSS。笔者的项目应用Maven构建的,在Maven的pom.xml可以非常便利地引入OSSSDK依靠:

我们在控制器中定义一个action用来接收用户端的form表单数据,并上传到OSS中:

现在我们来预备一些参数吧,包含AccessKeyID和AccessKeySecret,还有Bucket名字。

相对于API的繁琐,java的SDK提供了一个OSSClient来帮我们构建恳求用户端,我们稍加封装成一个方式,以供不同的操作应用:

我们可以经过这个client去操作OSS文件的上传、下载、更新以及删除等操作,不用干系身份验证等细节问题。

来瞧瞧上传一个文件是多么的简洁:

OSSClient对象中提供的putObject()方式用来上传文件,当然putObject有多个重载的方式,以上是以文件流的方法上传。

我们在控制器中接收到出自用户端form表单数据的MultipartFile,经过getInputStream()方式就可以获得一个文件流,在这里传入就可以了。

除了putObject()方式,OSSClient对象还提供了诸多的操作OSS文件的方式,包含常用的增删改查,诸如这类无需再演示。

此致,祝你OSS用的高兴!

  • 热门标签

  • 相关产品 >

    福建云服务器

    适合个人入门

    福建云服务器

    适合中小企业

    广东云服务器

    适合个人入门

    北京云服务器

    适合个人入门

阿里云OSS使用教程

唯一小编 发布时间:2020-12-21 返回

OSS是阿里云服务器推出的云存储案例,说白了就是让你存储文件啊、图片啊此类东西的。有好友也许会有疑惑,我自己服务器上不能存吗?当然可以,可是云存储案例比在自己云服务器上存储文件是有非常多好处的。

唯一网络是阿里云福建/广东省级代理商提供阿里云各产品均可享受代理价折扣哦,详情可以咨询客服哦。

阿里云OSS使用教程

这就引入了第二个问题,为啥要用OSS呢?诚然我们可以在自己服务器上存储图片文件,其实早期我也是这么干的。在流量刚起步阶段,或者压根就没有啥流量的时候,这的确是个明智的方法。假如你入手了台云主机,在上面部署了web服务,少不了也会有数据库服务(Mysql之类),用户上传的图片、文件也放在上面。

随着流量逐渐起来,在图片访问这块就渐渐有压力了,毕竟现在这个年代,手机拍照的像素都是非常不错的,虽然你也采纳了一些常规的压缩优化途径,但在担保不丧失太多细节的情形下,一张图片的大小非常容易也能达到MB吧。然而,一切的文件资源访问带宽都是由你这台主机来承担的,瓶颈会渐渐集合到带宽上。

进展到肯定阶段后,我们会将文件图片以及一些静止资源从web服务主机上脱离出来,应用云存储案例来治理。比如应用阿里云的OSS,好处有以下几点:

1.OSS云存储案例可以单独配置带宽、流量案例,不用再跟WEB主机分享带宽

2.在扩容、备份、峰值流量治理上更为灵活

3.有非常多有用的工具,假如图片处理、缩放等,相对于你自己的解决案例,OSS现成的给你,不要白不要。

4.做CDN案例越发灵活

第一,你得注册并登录一个阿里云账号。在阿里云首页就能看到OSS存储案例的产品介绍。进入到OSS产品介绍界面后,有个“立刻开通”的按钮,点击后进入开通产品的界面,需求勾选“对象存储OSS服务协议”。立刻开通就可以了。

开通顺利后,会有个“治理控制台”,点击就进入了OSS治理控制台。上图就是OSS的治理控制台,以后也可以在用户-控制台中找到OSS产品,然后进来。

左边名目中有个“Bucket列表”,Bucket英文有水桶的意思,我们可以理解为容器。对于OSS来说,Bucket相当于一个存储仓库,仓库存放文件夹和文件。许可创建多个Bucket。

有好友可能要问,我直接就创建文件夹存文件不更便利吗?为啥还要多此一举呢?由于每一个仓库(也就是Bucket)都有自己的配置属性。

我们来尝试创建一个Bucket,并在这个流程中讲解为啥要有这玩意。我们点到Bucket列表名目,会进入到Bucket列表页。如果你刚刚开通OSS,那么这里也肯定是空荡荡地。除了那个愁闷蓝色的“创建Bucket”按钮,也没啥好点击的东西。那么,我们就点击它创建一个吧。第一要填写Bucket名称,这非常当然,毕竟以后要靠这个标识来访问嘛,所以名字最好非常短,要故意义!然后要设置地域内容。这是核心,Bucket仓库是有地域之分的,不同地域的Bucket所在的地理位置一定也是有差别的。所以尽量选择离你web服务近的地域机房吧。

存储类型有三种:

1.标准存储:普通应用场景都默认选择这种。

2.低频访问存储:就是你存的多,访问的少。假如你存一些用户上传的敏感文件,此类文件不是公开的,之许可用户自己查看或者治理员审核查看。低频存储类型的单价要低于标准存储。

3.归档存储:数据长期存储,基础不访问。此类存储单价要比低频访问要更低。不过,真有这么多只存不用的文件,笔者还是建议离线来保存。一来硬盘成本低,二来备份案例多,三来数据在自己手上,更安全。最后讲讲读写权限,一样有三种案例可选:

我们创建了一个名为1doc的bucket。进入1doc治理界面:我们捡一些重大的功能来讲。

1.文件治理。在这里你可以对bucket中的文件进行治理,常用的增、删、改、查。也可以 多见名目,来计划存储路径。我们乃至可以直接在这里上传文件,虽然多数场景中会经过服务端来兑现。-权限治理。你可以在这里设置Bucket的读写权限,我们在创建Bucket的时候就设置过,这里你还可以调整。还可以进行一些防盗链和跨域设置。

2.基本设置。 多见的假如资源到不到,可以设置一个404网页;镜像回源;删除Bucket等操作。

3.冗余与容错。如果你的数据异常重大,可以在这里设置冗余与容错案例。在系统架构的时候,最好对文件资源进行安全优先级脱离,哪些非常重大,哪些普通重大。不同级其他文件资源分开存放不同的Bucket,采纳不同的备份策略。言下之意,不那么重大的文件资源可以离线硬盘冗余备份。

4.传输治理。在这里你可以设置绑定自定义网址,以及OSS传输加速(前提你要购入手加速包)等设置。

5.日志治理。

6.数据处理。可以进行一些图片处理,ZIP包解压等操作设置。图片处理是我们常用的,如今我们基础上会原样上传图片,然后在应用的时候实时裁切缩放,这样灵活性非常高。

7.数据统计。

OSS常用的收费条目有两种:存储包和下行流量。前者意味着你入手的仓库有多大,可以存多少文件;后者决定你可以应用的流量有多少,流量用完了就访问不了了。所以这两者都是需求购入手的。刚开始应用OSS的好友不知道购入手入口在哪,我们在OSS对象存储的根名目中https://oss.console.aliyun.com/overview可以找到“资源包治理”,点开后就可以购入手资源包了。资源包类型,我们刚刚讲过要入手两种,标准(LRS)存储包和下行流量包。地域的话,通常选择大陆通用。存储包规格看你自己需求选择,最后选择购入手经常。

对于下行流量包来说,比如入手了100GB的流量规格,半年的经常。流量用完或者时光到了,都视为流量资源到期,需求重新购入手。

为什么要用?以及怎样选购和配置。我们主要来看看怎样应用,我们以Java和PHP两种语言来示范。

在OSS控制台右侧的Bucket治理界面上,我们可以看到官方提供的新手入门和API文档:

现在我们知道官方既提供了API接口方法接入,有提供了SDK集成的方法。官方提供的SDK覆盖了多数热门的语言技术栈,包含Java、Python、Go、C++、PHP等,非常少情形下我们需求自己经过API的方法来接入。但如果你有代码洁癖或者应用的技术栈的确没有SDK,比如Perl或者Lisp,那可以尝试应用API的方法来接入。

我们就以PHP语言来演示怎么经过API的方法接入OSS。第一,在常用入口那儿可以查询到AccessKey,包含一对AccessKeyID和AccessKeySecret。不论是经过API还是SDK方法接入,这两个参数都是不得不的。

其实,文件上传到OSS上和文件上传到我们自己服务器上的步骤,并没有多少区分,我们还是会用HTTP协议,经过FORM表单的形式上交数据。不同在于构建这个header头的参数有些差别罢了。OSS需求我们在header头中,携带一个Authorization参数,用于验证用户端身份。所以要点就是环绕怎么构建这个参数,来兑现HTTP协议的通信。

既然和我们传统http的form表单上传差别在header上,我们不妨就从header买。第一定义一个数组来放置我们的header参数:

如上示例定义的header头中,包括了一个Host用于指定HTTP协议送达的主机域,另外,OSS的API文档中,需求我们提供一个Date参数来表示时光,格式应用GMT。最后,Content-Type参数来表明我们上传的文件格式。为了演示便利,我们这里写死为”image/png”,表示上传的是png格式的图片。读者可以依据本身业务逻辑来取得并传达这个MIME。

还记得我们上一篇中创建的Bucket名字么?这里就派上用场了,我们得指定文件往哪上传,以为OSS中也许不止一个bucket。通常这个资源标识符是这样的:

仓库(bucket)名称+名目名称+文件名

假设我们在名为1doc的bucket中有个名目叫做images,现在要上传defult.png文件到这个名目中,那么uri就应该是这样子的:

1doc/images/default.png

把这个资源标识符保存到一个变量中,待会应用:

那么要点来了,我们要开始预备构建Authorization参数了。

第一步依据API文档中的指导精神,我们遵守HTTP协议,经过PUT方法来上传文件,拼接出恳求头:

第二步,经过sha1算法将上面这个待签名的字符串和AccessKeySecret加密,再用base64编码:

第三步,应用AccessKeyID与上面的签名字符拼接成最终的Authorization,并加到header头中:

后续的事儿就简洁了,就是一般的HTTP恳求了。当然,我们先预备好要上传的文件:

然后经过curl来上交恳求:

对于PHP而言,笔者重视到OSS近来已经支持composer来引入SDK了,相较于早些年自己去加载.php文件要便利的多。所以,除非没有更好的解决案例,笔者还是建议应用SDK来集成。

我们用java来演示经过sdk的方法接入OSS。笔者的项目应用Maven构建的,在Maven的pom.xml可以非常便利地引入OSSSDK依靠:

我们在控制器中定义一个action用来接收用户端的form表单数据,并上传到OSS中:

现在我们来预备一些参数吧,包含AccessKeyID和AccessKeySecret,还有Bucket名字。

相对于API的繁琐,java的SDK提供了一个OSSClient来帮我们构建恳求用户端,我们稍加封装成一个方式,以供不同的操作应用:

我们可以经过这个client去操作OSS文件的上传、下载、更新以及删除等操作,不用干系身份验证等细节问题。

来瞧瞧上传一个文件是多么的简洁:

OSSClient对象中提供的putObject()方式用来上传文件,当然putObject有多个重载的方式,以上是以文件流的方法上传。

我们在控制器中接收到出自用户端form表单数据的MultipartFile,经过getInputStream()方式就可以获得一个文件流,在这里传入就可以了。

除了putObject()方式,OSSClient对象还提供了诸多的操作OSS文件的方式,包含常用的增删改查,诸如这类无需再演示。

此致,祝你OSS用的高兴!

©2016-2021 www.wcloud.cn All rights reserved.
唯一网络-数据中心、云网服务及数字化解决方案提供商©版权所有

免费预约

客户免费预约阿里云/唯云架构师上门服务。免费服务内容:云数据中心、网络安全、云专线、云等保、公有云、混合云和其它云协助迁移。

请保持电话畅通,我们将在工作时间与您电话联系。

立即预约