安装
pip install awscli --upgrade --user
如果实在安装不了,就在virtualenv下安装
安装后执行aws --version
确认
参考:https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html
配置
aws configure
根据提示输入,最后一项output format可以输入output – output format (json, text, or table)
配置文件目录在/root/.aws
# 输入bucket列表
aws s3 ls
# 递归输出bucket下的文件列表
aws s3 ls --recursive s3://gztest.nmg
# 上传本地图片到bucket
aws s3 cp a.jpg s3://your_bucket --storage-class REDUCED_REDUNDANCY
aws s3 cp a.jpg s3://your_bucket/content-farm --storage-class REDUCED_REDUNDANCY
# 删除文件
aws s3 rm s3://your_bucket/a.jpg
# 删除bucket
aws s3 rb s3://bucket-name --force
# 上传本地文件到S3
aws s3 cp MyFolder s3://bucket-name -- recursive [--region us-west-2]
# 跨区域同步S3
aws s3 sync s3://oldbucket s3://newbucket --source-region us-west-1 --region us-west-2
# 删除目录,递归。排除XX文件
aws s3 sync s3://my-bucket/path . --delete --exclude './MyFile2.rtf'
# 新建profile 根据提示输入。生成的profile会保存在/root/.aws下的config和credentials文件中
aws configure --profile "lohas"
# 使用profile
aws s3 ls s3://origin-images.lohas.news --profile lohas
# 使用profile 配置上传
aws s3 cp a.jpg s3://origin-images.lohas.news --storage-class REDUCED_REDUNDANCY --profile lohas
# 下载
aws s3 sync s3://mybucket/ . --exclude "*another/*"
# 同步bucket
aws s3 sync s3://your_bucket/content-farm s3://origin-images.lohas.news/your_token/content-farm
# 同步一个目录。使用的是目标bucket的profile 默认会跳过重复名称的文件
aws s3 sync s3://your_bucket/content-farm/ s3://your_bucket/content-farm/ --profile lohas
# 复制一个文件 使用的是目标bucket的profile
aws s3 cp s3://your_bucket/content-farm/a.jpg s3://your_bucket/content-farm/a.jpg --profile lohas
# 策略 policy demo
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::your_bucket",
"arn:aws:s3:::your_bucket/*"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxxx:user/epstest"
},
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::your_bucket",
"arn:aws:s3:::your_bucket/*"
]
}
]
}
# 查看role-name。不过不一定有权限
aws iam get-role -–role-name ROLE-NAME
# 查看username
aws iam get-user --user-name USER-NAME
参考:https://aws.amazon.com/cn/premiumsupport/knowledge-center/account-transfer-s3/?nc1=h_ls
https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html#examples
网友评论