近期,有细心的同学发现,在又拍云控制台中的云存储产品中增加了针对 S3 协议标准的兼容支持,授权用户通过 S3 协议标准对存储空间的数据进行读写操作。此配置操作之前是由人工协助的方式提供给用户使用的,现为方便大家自助使用,将其在控制台上做了统一的配置开放。

可能有部分用户对 S3 协议了解不多,那我们就来简单介绍下 S3。

S3 是 Simple Storage Service 的缩写,即简单存储服务。S3 协议由亚马逊公司推出,原本是专门针对 Amazon S3 而产生的,在 URL 中,指定一个 Amazon S3 桶的位置以及用来读写该桶中文件的前缀。用户可以定义只读外部表使用 S3 桶中现有的数据文件作为表数据,或者创建可写外部表将来自于 INSERT 操作的数据存储到 S3 桶中的文件。发展至今,S3 协议已经发展成为一个非常强大的数据管理接口。与传统的文件系统接口不同,它为应用程序开发人员提供了一种通过丰富的 API 集控制数据的方法。

S3 API

S3 API 是一个应用程序编程接口,为云存储提供上传、检索、列出和删除对象的能力。S3 API 支持标准的 REST(Representational State Transfer)和 SOAP(Simple Object Access Protocol)协议,目前,HTTP 上的 SOAP 支持已弃用,SOAP 仍可在 HTTPS 上使用。SOAP 目前已不支持再在 HTTP 上使用,也不支持主流 S3 功能,强烈建议您使用 REST 协议访问,REST 协议也是 S3 主要的访问协议。

REST 协议是一种基于 HTTP 协议的轻量级协议,使用标准的 HTTP 请求方法(GET、PUT、DELETE 等)和状态码(200、404、403 等)来进行对象存储服务的操作。使用 S3 协议,您可以通过编写简单的程序或使用 AWS 提供的 SDK(Software Development Kit)来访问和管理又拍云存储中的数据对象,例如上传和下载文件、删除和复制文件等。

又拍云支持的 S3 API 如下图所示:

签名认证和API路径

又拍云存储同时兼容 AWS Signature Version 2 和 AWS Signature Version 4,均实现了请求头签名和参数签名方式。

又拍云存储的路径风格格式为: https://s3.api.upyun.com/<bucket名称>/<Object存储路径>,bucket 名字作为路径使用的一部分,类似于又拍云存储目前使用的 RESTful API  路径形式。

虚拟主机风格格式为: https://<bucket名称>.s3.api.upyun.com/<Object存储路径>。

S3 协议使用示例

在了解了 S3 API 的基本信息后,下面我就 S3 API 使用做个简单示例。

WinScp(Windows用户)

  1. 下载 WinSCP。

  2. 打开程序,新建会话。

文件协议:Amazon S3

主机名:s3.api.upyun.com

端口:默认(443)

访问密钥: 从云存储控制台中获取,对应 AccessKey。

私密访问密钥:从云存储控制台中获取,对应 SecretKey。

  1. 连接成功,进入配置管理界面。

Cyberduck(windows、Mac用户)

1. Cyberduck 客户端下载。

2. 打开客户端,选择新建连接。

文件协议:Amazon S3

服务器:s3.api.upyun.com

端口:默认(443)

访问密钥 ID: 从云存储控制台中获取,对应 AccessKey。

访问私钥:从云存储控制台中获取,对应 SecretKey。

  1. 连接成功,进入管理配置页面,操作和 FTP 客户端大同小异。

Postman(API开发者)

1. 以获取 testautomata 存储根目录列表为例,打开 Postman 后,配置请求地址与请求参数。

依照 List Objects 的 API 文档组织请求方法、请求地址与请求参数,各参数释义参考又拍云存储 S3 协议文档。

请求方法:GET

URL地址:https://testautomata.s3.api.upyun.com/?list-type=2&delimiter=/

  1. 配置 API 接口鉴权,Postman 内置 S3 鉴权,可在 Authorization 选项卡下进行配置。

type:选择 AWS Signature

AccessKey:从云存储控制台中获取

SecretKey:从云存储控制台中获取

Service Name:s3

  1. 发起请求,获取存储列表数据。



目前又拍云存储在控制台上已开放 S3 协议的统一配置获取,您可以使用任何兼容 S3 的工具来操作又拍云存储,还不赶紧来试试~

聊聊又拍云存储 S3 协议的使用的更多相关文章

  1. ECStore图片云端集群存储实践-又拍云存储

    通过又拍云存储REST API ,为ECStore新增图片存储引擎,从而达到图片数据与主站数据分离.提高网站性能. 图片存储引擎相关文件添加与修改 一共涉及到ECStore 2个APP 的文件添加和修 ...

  2. 又拍云叶靖:OpenResty 在又拍云存储中的应用

    2019 年 7 月 6 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·上海站,又拍云平台开发部负责人叶靖在活动上做了<OpenRest ...

  3. 【实战分享】又拍云 OpenResty / Nginx 服务优化实践

    2018 年 11 月 17 日,由 OpenResty 主办的 OpenResty Con 2018 在杭州举行.本次 OpenResty Con 的主题涉及 OpenResty 的新开源特性.业界 ...

  4. (转)云存储:阿里云OSS 、又拍云和 七牛 的比较

    阿里OSS:好处就是,那是一套完整的体系,存储,数据库,CDN,服务器,阿里都可以给你全包.缺点,费用对于没有盈利的网站来说太高了,好像定位就是给那些高端客户使用的,而且CDN,OSS的流量是分开收费 ...

  5. s3存储桶:s3可扩展的云存储

    S3(Simple Storage Service,简单存储服务),即可扩展的云存储,又称桶存储,S3 是一种面向 Internet 的存储服务.S3为任意类型的文件提供临时或永久的存储服务.用于存储 ...

  6. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

  7. 使用FileZilla Pro S3协议访问七牛云对象存储

    偶然发现FileZilla还有Pro版本,主要是比免费版多了一些协议支持,也偶然发现七牛云支持了S3协议接口,这样刚好弥补了其没有FTP的不足,于是找官方文档,折腾一下,使用FileZilla Pro ...

  8. .NET Core AWS S3云存储

    前言 最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 AWS S3云存储 官方已 ...

  9. 以绝对优势立足:从CDN和云存储来聊聊云生态的崛起

    以绝对优势立足:从CDN和云存储来聊聊云生态的崛起 前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的Spring Cloud.接下来,我们就以蘑菇街的两个具体案例,来分享一下基于混合 ...

  10. 使用plupload绕过服务器,批量上传图片到又拍云

    本文最初发布于我的个人博客:Jerry的乐园 综述 论坛或者贴吧经常会需要分享很多图片,上传图片比较差的做法是上传到中央服务器上,中央服务器再转发给静态图片服务器.而这篇文章讲介绍如何使用pluplo ...

随机推荐

  1. flex:1的情况下,overflow:auto没有生效的问题

    flex:1的元素的父元素必须保证高度或者宽度有具体的数值:如果父元素的高度或者宽度也是flex:1自适应的,最好在父元素上也设置overflow:auto,这样子元素的overflow:auto生效 ...

  2. express服务器框架

    Express 为了提高开发效率,我们在开发过程中,都会尽量使用别人已经开发好的第三方模块,而我们想要快速实现服务器端的开发,推荐一个当下比较流行的框架:Express Express 作为开发框架, ...

  3. 2022-09-05:作为国王的统治者,你有一支巫师军队听你指挥。 :给你一个下标从 0 开始的整数数组 strength , 其中 strength[i] 表示第 i 位巫师的力量值。 对于连续的一

    2022-09-05:作为国王的统治者,你有一支巫师军队听你指挥. :给你一个下标从 0 开始的整数数组 strength , 其中 strength[i] 表示第 i 位巫师的力量值. 对于连续的一 ...

  4. 2022-08-21:以下go语言代码输出什么?A:0;B:panic;C:不知道。 package main var n = -99 func main() { m := make(map[

    2022-08-21:以下go语言代码输出什么?A:0:B:panic:C:不知道. package main var n = -99 func main() { m := make(map[stri ...

  5. 2022-06-19:给出n个数字,你可以任选其中一些数字相乘,相乘之后得到的新数字x, x的价值是x的不同质因子的数量。 返回所有选择数字的方案中,得到的x的价值之和。 来自携程。

    2022-06-19:给出n个数字,你可以任选其中一些数字相乘,相乘之后得到的新数字x, x的价值是x的不同质因子的数量. 返回所有选择数字的方案中,得到的x的价值之和. 来自携程. 答案2022-0 ...

  6. 2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?

    2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数? 福大大 答案2021-05-16: 这道题logN的解法是大步小步法,网上非常难找.另外论代码简洁度,明显是我的代 ...

  7. 问题解决:TNS-12543: TNS:destination host unreachable

    环境: 11.2.0.3 ADG (db11g\db11gadg\db11gcas) 在自己先前克隆后的环境互相tnsping报错. tnsping 本机ok,tnsping其他机器均报错: [ora ...

  8. 微软Build 2023两大主题:Copilots和插件

    在本周大型微软人工智能 2023 开发者大会的开幕式上,人工智能站到了舞台中央--前台和后台以及介于两者之间的所有舞台. 贯穿会议的两个主要主题是Copilots - 涵盖广泛产品和服务的AI助手 - ...

  9. 如何使用C++ 在Word文档中创建列表

    列表分类是指在Word文档中使用不同格式排序的列表,来帮助我们一目了然地表达出一段文字的主要内容.比如,当我们描述了某个主题的若干点,就可以用列表把它们一一表达出来,而不是写成完整的段落形式.同时,列 ...

  10. Hive执行计划之一文读懂Hive执行计划

    目录 概述 1.hive执行计划的查看 2.学会查看Hive执行计划的基本信息 3.执行计划步骤操作过程 4.explain extended 概述 Hive的执行计划描述了一个hiveSQL语句的具 ...