聊聊又拍云存储 S3 协议的使用
近期,有细心的同学发现,在又拍云控制台中的云存储产品中增加了针对 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用户)
下载 WinSCP。
打开程序,新建会话。
文件协议:Amazon S3
主机名:s3.api.upyun.com
端口:默认(443)
访问密钥: 从云存储控制台中获取,对应 AccessKey。
私密访问密钥:从云存储控制台中获取,对应 SecretKey。
- 连接成功,进入配置管理界面。
Cyberduck(windows、Mac用户)
1. Cyberduck 客户端下载。
2. 打开客户端,选择新建连接。
文件协议:Amazon S3
服务器:s3.api.upyun.com
端口:默认(443)
访问密钥 ID: 从云存储控制台中获取,对应 AccessKey。
访问私钥:从云存储控制台中获取,对应 SecretKey。
- 连接成功,进入管理配置页面,操作和 FTP 客户端大同小异。
Postman(API开发者)
1. 以获取 testautomata 存储根目录列表为例,打开 Postman 后,配置请求地址与请求参数。
依照 List Objects 的 API 文档组织请求方法、请求地址与请求参数,各参数释义参考又拍云存储 S3 协议文档。
请求方法:GET
URL地址:https://testautomata.s3.api.upyun.com/?list-type=2&delimiter=/
- 配置 API 接口鉴权,Postman 内置 S3 鉴权,可在 Authorization 选项卡下进行配置。
type:选择 AWS Signature
AccessKey:从云存储控制台中获取
SecretKey:从云存储控制台中获取
Service Name:s3
- 发起请求,获取存储列表数据。
目前又拍云存储在控制台上已开放 S3 协议的统一配置获取,您可以使用任何兼容 S3 的工具来操作又拍云存储,还不赶紧来试试~
聊聊又拍云存储 S3 协议的使用的更多相关文章
- ECStore图片云端集群存储实践-又拍云存储
通过又拍云存储REST API ,为ECStore新增图片存储引擎,从而达到图片数据与主站数据分离.提高网站性能. 图片存储引擎相关文件添加与修改 一共涉及到ECStore 2个APP 的文件添加和修 ...
- 又拍云叶靖:OpenResty 在又拍云存储中的应用
2019 年 7 月 6 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·上海站,又拍云平台开发部负责人叶靖在活动上做了<OpenRest ...
- 【实战分享】又拍云 OpenResty / Nginx 服务优化实践
2018 年 11 月 17 日,由 OpenResty 主办的 OpenResty Con 2018 在杭州举行.本次 OpenResty Con 的主题涉及 OpenResty 的新开源特性.业界 ...
- (转)云存储:阿里云OSS 、又拍云和 七牛 的比较
阿里OSS:好处就是,那是一套完整的体系,存储,数据库,CDN,服务器,阿里都可以给你全包.缺点,费用对于没有盈利的网站来说太高了,好像定位就是给那些高端客户使用的,而且CDN,OSS的流量是分开收费 ...
- s3存储桶:s3可扩展的云存储
S3(Simple Storage Service,简单存储服务),即可扩展的云存储,又称桶存储,S3 是一种面向 Internet 的存储服务.S3为任意类型的文件提供临时或永久的存储服务.用于存储 ...
- 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例
ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...
- 使用FileZilla Pro S3协议访问七牛云对象存储
偶然发现FileZilla还有Pro版本,主要是比免费版多了一些协议支持,也偶然发现七牛云支持了S3协议接口,这样刚好弥补了其没有FTP的不足,于是找官方文档,折腾一下,使用FileZilla Pro ...
- .NET Core AWS S3云存储
前言 最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 AWS S3云存储 官方已 ...
- 以绝对优势立足:从CDN和云存储来聊聊云生态的崛起
以绝对优势立足:从CDN和云存储来聊聊云生态的崛起 前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的Spring Cloud.接下来,我们就以蘑菇街的两个具体案例,来分享一下基于混合 ...
- 使用plupload绕过服务器,批量上传图片到又拍云
本文最初发布于我的个人博客:Jerry的乐园 综述 论坛或者贴吧经常会需要分享很多图片,上传图片比较差的做法是上传到中央服务器上,中央服务器再转发给静态图片服务器.而这篇文章讲介绍如何使用pluplo ...
随机推荐
- PWN 学习日志(1): pwntools简单使用与栈溢出实践
常用的模块 模块 功能 asm 汇编与反汇编 dynelf 远程符号泄漏 elf 对elf文件进行操作 memleak 用于内存泄漏 shellcraft shellcode生成器 gdb 配合gdb ...
- AspectCore和MSDI 实现Name注册以及解析对象
AspectCore 在注册服务这块比较简单,默认是无法根据Name去注册和解析对象,这边做一下这块的扩展 大致原理是根据自定义Name去生成对应的动态类型,然后使用委托或者对象的方式,进行注册 ti ...
- Albert理论详解:用矩阵分解与跨层参数共享减少参数量
1.介绍 Albert是Bert的一个变种,它在Bert的基础上减少了参数量,使整个模型更加的"轻量化",同时也保持了Bert的性能,但值得注意的是,Albert虽然显著地减少了参 ...
- Centos 安装 python3.x 为默认
CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x.但由于python2.x是系统集成的,很多命令都是要基于pyt ...
- FLV文件分析
很久没看,做下关于FLV文件格式知识点回顾! 一.简单介绍 FLV(Flash Video)是Adobe公司推出的一种媒体封装格式.一个FLV文件,每个Tag类型都属于一个流.也就是说一 ...
- IE盒模型和标准盒模型之间的差别
1.W3C标准盒子模型 w3c盒子模型的范围包括margin.border.padding.content,并且content部分不包含其他部分 2.IE盒子模型 IE盒子模型的范围包括margin. ...
- C# implicit隐式转换
今天看书,上面介绍implicit和explicit相对冷门,用的较少. 这个implicit类型虽然冷门,但真的很有用.我在自己的项目里就用了这个 上Demo, 1 public partial c ...
- 从源码深入理解读写锁(golang-RWMutex)
环境:go 1.19.8 在读多写少的情况下,即使一段时间内没有写操作,大量并发的读访问也不得不在Mutex的保护下变成串行访问,这种情况下,使用Mutex,对性能影响比较大. 所以就要区分读写操作. ...
- 「学习笔记」AC 自动机
「学习笔记」AC 自动机 点击查看目录 目录 「学习笔记」AC 自动机 算法 问题 思路 代码 例题 Keywords Search 玄武密码 单词 病毒 最短母串 文本生成器 背单词 密码 禁忌 前 ...
- Prism Sample 16-RegionContext
终于发现一个有趣的新知识了. 本例的核心是RegionContext,意思是一个区域的上下文.但与DataContext似乎并不相同. 先看一下整体思路. 在主窗体上只有一个Region: <G ...