libs3-c:编译安装和基础命令操作

2019-10-31  本文已影响0人  Doawen

S3(Simple Storage Service )是互联网存储解决方案,该服务旨在降低开发人员进行网络规模级计算的难度。Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施,为开发人员带来最大化的规模效益。
通俗讲,开发者只需要专注自己的业务和数据,可将任意格式数据存放到云端,并生成URL分享给其他人访问,所有这些过程都有一整套协议来保证,这套协议就是S3。目前已有多个互联网厂商提供了类亚马逊S3的数据存储服务,libs3-c就是支持该服务的客户端C库,以下操作默认在Linux平台上执行。

编译安装

克隆libs3-c开源库到本地(无git工具时可从网站下载压缩包)

$ git clone https://github.com/Doawen/protocol-libs3-c.git

安装依赖包

$ sudo apt-get install libxml2
$ sudo apt-get install libxml2-dev
$ sudo apt-get install libcurl4-openssl-dev

编译、安装libs3

$ cd protocol-libs3-c
$ sudo make clean
$ make
$ sudo make install

验证是否安装成功,若返回帮助信息则安装成功,若提示无该指令则需重新安装

$ s3

配置环境变量

在键入s3命令前,需要配置环境变量,以确保库文件能获得有效的KEY、SECRET和服务地址;
若采用api方式访问,则无需配置环境变量,直接通过结构体传递参数即可。
进入profile文件

$ sudo vim /etc/profile

在文件结尾添加环境变量,分别为KEY、SECRET和服务地址,从平台建立账号后申请获得

export S3_ACCESS_KEY_ID=xxxxxxxxxxxx
export S3_SECRET_ACCESS_KEY=xxxxxxxxxxxx
export S3_HOSTNAME=xxx.xxx.xxx.xxx

保存文件,重新加载使配置生效

$ source /etc/profile

基础命令行操作

以新建名称为wxwfolder的bucket,上传文件dog.jpeg且命名为对象mydog.jpeg为例,采用非加密方式(-u),若采用加密方式而又未获得CA证书,键入命令会等待很长时间才返回错误。
新建存储桶(bucket),名称需在平台全局唯一(因为bucket是URL一部分)

$ s3 -u create wxwfolder

上传对象(object)

$ s3 -u put wxwfolder/mydog.jpeg filename=dog.jpeg 

列出存储桶的对象

$ s3 -u list wxwfolder 

生成对象URL,浏览器可直接通过该URL访问对象

$ s3 -u gqs wxwfolder/mydog.jpeg 

对于其他指令使用方式,可键入s3命令从帮助信息中或源代码中查看。

当不再需要或需重装时,可卸载libs3

$ cd protocol-libs3-c
$ sudo make uninstall

S3协议参考和用户指导

S3协议细节和相关概念,操作指导等都可在亚马逊官网获得

https://aws.amazon.com
https://docs.aws.amazon.com/index.html
https://docs.aws.amazon.com/s3/
上一篇 下一篇

猜你喜欢

热点阅读