头图

背景

因为公司有用到S3,所以整理了一个S3的简单入门教程。当然,入门之后有其他更高级的用法需求,就靠自己去查文档了。入门的教程能让你快速上手,不至于翻阅一堆文档,容易被劝退。这里主要是介绍如何用cli去操作S3。

官方文档

https://docs.aws.amazon.com/cli/latest/userguide/cli-services...

安装客户端

https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/gettin...

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

什么是 Amazon S3

就是国内的对象存储,更粗暴的比喻,可以理解成一个云盘(只是一个有接口的云盘)。
下边是官方术语:

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。各种规模和行业的客户可以为几乎任何使用案例存储和保护任意数量的数据,例如数据湖、云原生应用程序和移动应用程序。借助高成本效益的存储类和易于使用的管理功能,您可以优化成本、组织数据并配置精细调整过的访问控制,从而满足特定的业务、组织和合规性要求。

配置

aws configure

AWS Access Key ID [None]: xxx
AWS Secret Access Key [None]: xxx
Default region name [None]: cn-northwest-1
Default output format [None]: json

列出对象

#列出所有bucket
aws s3 ls

#列出单个bucket
aws s3 ls s3://bucket-name/

#列出bucket中的某个对象
aws s3 ls s3://bucket-name/example/

同步对象

s3 sync 将更新与目标位置中同名文件的大小或修改时间不同的任何文件。

#格式
$ aws s3 sync <source> <target> [--options]

下面的示例显示了如何使用 --delete 选项。

// Delete local file
$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens
$ aws s3 sync . s3://my-bucket/path

// Sync with deletion - object is deleted from bucket
$ aws s3 sync . s3://my-bucket/path --delete
delete: s3://my-bucket/path/MyFile1.txt

// Delete object from bucket
$ aws s3 rm s3://my-bucket/path/MySubdirectory/MyFile3.txt
delete: s3://my-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted
$ aws s3 sync s3://my-bucket/path . --delete
delete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class
$ aws s3 sync . s3://my-bucket/path --storage-class STANDARD_IA

移动对象

#格式
aws s3 mv <source> <target> [--options]

#将所有对象从 s3://bucket-name/example 移动到 s3://my-bucket/
aws s3 mv s3://bucket-name/example s3://my-bucket/

#将本地文件从当前工作目录移动到 Amazon S3 存储桶(相当于cp+rm)
aws s3 mv filename.txt s3://bucket-name

#将文件从 Amazon S3 存储桶移动到当前工作目录(相当于cp+rm)
aws s3 mv s3://bucket-name/filename.txt ./

复制对象

#将所有对象从 s3://bucket-name/example 复制到 s3://my-bucket/
aws s3 cp s3://bucket-name/example s3://my-bucket/

#以下示例使用 s3 cp 命令,将本地文件从当前工作目录复制到 Amazon S3 存储桶
aws s3 cp filename.txt s3://bucket-name

#下载单个文件
aws s3 cp s3://bucket-name/filename.txt ./

删除对象

aws s3 rm s3://bucket-name/example/filename.txt #删除单个文件
aws s3 rm s3://bucket-name/example --recursive#删除所有对象

更多

更多最新文章,请关注同名公众号。


生活处处有BUG
15 声望9 粉丝

引用和评论

0 条评论