聊聊又拍云存储 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 ...
随机推荐
- 谈谈selenium中的clear后输入内容异常的处理
谈谈selenium中的clear后输入内容异常的处理 案例 在线考试项目的登录:http://124.223.31.21:9097/#/ 代码 from selenium import webdri ...
- 玩转云端 | 算力基础设施升级,看天翼云紫金DPU显身手!
数字时代下,算力成为新的核心生产力,传统以CPU为核心的架构难以满足新场景下快速增长的算力需求,具备软硬加速能力的DPU得以出现并快速发展.天翼云凭借领先的技术和丰富的应用实践自研紫金DPU,打造为云 ...
- #AI 1分钟学会,利用AI制作思维导图 (NewBing&X-Mind )
思维导图是一种有效的思考和学习工具,它可以帮助你整理和呈现信息,激发你的创造力和记忆力.但是,传统的思维导图软件往往需要你花费大量的时间和精力来设计和绘制,而且难以修改和分享.有没有一种更简单和智能的 ...
- 2022-08-18:每一个序列都是[a,b]的形式,a < b 序列连接的方式为,前一个序列的b,要等于后一个序列的a 比如 : [3, 7]、[7, 13]、[13, 26]这三个序列就可以依次连
2022-08-18:每一个序列都是[a,b]的形式,a < b 序列连接的方式为,前一个序列的b,要等于后一个序列的a 比如 : [3, 7].[7, 13].[13, 26]这三个序列就可以 ...
- golang调用sdl2,键盘和鼠标事件
golang调用sdl2,键盘和鼠标事件 win10 x64下测试成功,其他操作系统下不保证成功. 采用的是syscall方式,不是cgo方式. 见地址 代码用golang编写.代码如下: packa ...
- annotate()使用聚合计数、求和、平均数 raw()执行原生的SQL
annotate()使用聚合计数.求和.平均数 raw()执行原生的SQL # 按老师分组,求课程的销量 Course.objects.values('Teacher').annotate(vol= ...
- Golang接收者方法语法糖
1.概述 在<Golang常用语法糖>这篇博文中我们讲解Golang中常用的12种语法糖,在本文我们主要讲解下接收者方法语法糖. 在介绍Golang接收者方法语法糖前,先简单说下Go 语言 ...
- Cobalt Strike 连接启动教程(1)
第一步:把cobaltstrike4(解压后)拷贝到虚拟机Kali系统的root目录下 第二步:进入cobalstrike4文件夹中 第三步:选寻kali系统 IP地址 第四步: 启动服务端:(t ...
- Kali系统 连接 Xshell
1> 进入kali系统,修改ssh配置文件:vi /etc/ssh/sshd_config 2> 将PermitRootLogin without-password修改为:PermitRo ...
- Python基础 - 逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔"与" - 如果 x 为 False,x a ...