Aws万岁爷 2019-06-30
安装(基于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会自动根据你的登录信息,到你的账户查询相关的信息。
参考官方文档: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: