安装(基于 Python):
$ pip3 install awscli –upgrade –user
建议在 Virtualenv 下安装,因为系统级别安装经过测试经常无法安装上。
如同 git 和 docker,awscli 分为入口命令和功能命令,入口命令为 aws,功能命令各自对应一项 aws 服务。如 aws s3 就是针对 S3 存储的操作。
参考官方所有命令:AWS CLI Command Reference
配置文件:AWS CLI 的配置文件都存在~/.aws 目录中,如果没有可以自己创建。具体的每个配置文件,都是 ini 语法,如同 git 配置文件一样。
登录认证配置:文件是~/.aws/credentials,可以配置多项登录用的 key pairs:
[default]
aws_access_key_id=YourKeyID
aws_secret_access_key=YourSecretCode
具体的 key pair 的值,需要到 AWS 的权限配置中自己添加 IAM 账户,然后自动获得 key pair。进入官网: IAM – Security Credential
配置好后,就可以直接用 aws xxx 命令操作了。awscli 会自动根据你的登录信息,到你的账户查询相关的信息。
S3 静态对象存储
参考官方文档:AWS CLI S3 参考官方文档:Using High-Level s3 Commands with the AWS Command Line Interface
在 awscli 已经配置好的情况下,直接可以用 aws s3 命令进行一系列的操作:
# 列出当前账户下有哪些 Bucket
$ aws s3 ls
# 列出指定 bucket 下有哪些文件
$ aws s3 ls s3://bucket-name/path
# 删除
$ aws s3 rm s3://bucket-name/path/to/file
同步本地和远程的文件夹(方向可换):
#
$ aws s3 cp /path/to/local/file s3://bucket-name/path/to/file
# 下载
# 同步
$ aws s3 sync <source> <target> [–options]
其中 sync 同步的选项和网页管理后台中显示的选项一样,有很多需要设置的:
–recursive:
–delete: 删除目标目录中有而源目录中没有的
–exclude: 排除指定的文件和文件夹,语法和.gitignore 一样很简单
–include: 在排除的文件夹里挑出来包括指定的文件和文件夹同步
–storage-class: 存储类型,可以是 STANDARD, STANDARD_IA, GLACIER
–acl: