S3 的概念和使用

1、概念

工作需要测试数据库从 S3(Simple Storage Service)导入数据文件,公司有私有S3环境。

S3是一种对象存储,数据模型很简单,就是key-value,key就是一个任意字符串,value是一个文件。

S3的功能是上传一个文件,并且标记为key,以后就用key获取这个文件。

S3中还有一个bucket的概念,从用户角度可以理解为一个命名空间,和S3的key组合起来,以便形成目录的形式,bucket看起来也像是一个目录,例如:

s3://test-for-student-1308700295/regression/segcompaction/segcompaction.orc

其中test-for-student-1308700295就是一个bucket名称。

S3客户端与服务器的交互通过REST,也就是 http+json也可能用https+json。

使用某个客户端程序可以交互式的访问,例如:s3cmd或者aws cli,其中s3cmd是python程序,可以通过python的pip安装。

访问S3服务,客户端由三个必要信息:

AK(Access Key)-- 一个字符串

SK (Secret Key)-- 一个字符串

endpoint -- S3服务器的IP和端口号 或者 域名

例如:

endpoint = http://172.32.148.56:2080

AK =UYLM5WCCFLX6MWRBYP46

SK =vluS7nv2dSrC7ClXyWQ5NKMQddA7a387Y5mShRHP

或者

endpoint = cos.ap-beijing.myqcloud.com

AK =AKIDd9RVMzIOI0V7W

SK =4uWxMhqnW3Plz97sPjqlSUXO1RhokRuOA

region -- 是可选的,如果没有提供,可以用默认值US(同事告诉我的)

bucket -- 用户上传文件时,可以自己创建,第一次访问时也不是必须的

2、s3cmd的安装和使用:

pip3 install s3cmd -i https://pypi.tuna.tsinghua.edu.cn/simple

这篇博客很好的介绍了 s3cmd的配置和使用:

https://www.cnblogs.com/sunhongleibibi/p/11661123.html

附一下我的s3cmd配置文件(~/.s3cfg)的关键参数 :

access_key = UYLM5WCCFLX6MWRBYP46

secret_key = vluS7nv2dSrC7ClXyWQ5NKMQddA7a387Y5mShRHP

host_base = 172.32.148.56:2080  #相当于endpoint

use_https = False

查看bucket:

s3cmd ls

查看bucket下的key:

s3cmd ls s3://my-bucket-name

上传:

s3cmd put abc.txt s3://my-bucket-name/abc.txt

下载:

s3cmd get s3://my-bucket-name/abc.txt .

创建bucket:

s3cmd mb s3://my-bucket-name2

3、aws cli的安装和使用

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip # 解压后目录aws
sudo ./aws/install

安装完,在用户的 ~/.aws下有config和credentials,在config里配置endpoint,region等信息,在credentials里配置AK,SK:

credentials

configs

这个endpoint_url可以写<IP>:<PORT>,也可以写http+域名或https+域名,如果只写域名,aws cli默认是用https,即443端口。

下载S3上的文件对象,bucket为test-for-student:

aws s3 cp s3://test-for-student/segcompaction.orc .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值