aws CLI使用

aws CLI使用

官方网站:https://docs.aws.amazon.com/cli/latest/reference/s3/

AWS 命令行界面 (CLI) 是用于管理 AWS 服务的统一工具。只通过一个工具进行下载和配置,您可以使用命令行控制多个 AWS 服务并利用脚本来自动执行这些服务。

AWS CLI 引进了一组新的简单文件命令,用于改善与 Amazon S3 的双向文件传输效率

常用命令

cp、ls、mb、mv、presign、rb、rm、sync、website

查看支持的服务,获取帮助
$ aws help

服务的相关操作
$ aws autoscaling help

以及某个服务操作的参数
$ aws autoscaling create-auto-scaling-group help

查看当前版本
$ aws --version

升级到最新版
$ aws install awscli --upgrade

卸载
$ pip uninstall awscli

 

添加默认的配置文件
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-east-2
Default output format [None]: json

为新角色添加配置文件(如其他 IAM 角色)
在 .aws/config 文件中声明新账号所在区域
[default]
region=ap-northeast-1

[profile ohagi3]
region=ap-northeast-1

在 .aws/credentials 文件中配置其他 IAM 角色的密钥。
[default]
aws_access_key_id=*******
aws_secret_access_key=*******

[ohagi3]
aws_access_key_id=*******
aws_secret_access_key=*******

指定参数 --profile default 将命令附加到其他 IAM 角色
$ aws s3 ls --profile ohagi3

列出存储桶
$ aws s3 ls

列出某个存储桶中的内容
$ aws s3 ls s3://my-bucket

上传文件到s3存储桶
$ aws s3 cp my-file s3://my-bucket/my-folder

awscli s3

新的文件命令可以轻松管理您的 Amazon S3 数据元。您可以使用熟悉的语法在基于目录的列表中查看 S3 存储段的内容。

$ aws s3 cp myfolder s3://mybucket/myfolder --recursive
上传:myfolder/file1.txt 到 s3://mybucket/myfolder/file1.txt
上传:myfolder/subfolder/file1.txt 到 s3://mybucket/myfolder/subfolder/file1.txt
​
$ aws s3 sync myfolder s3://mybucket/myfolder --exclude *.tmp
上传:myfolder/newfile.txt 到 s3://mybucket/myfolder/newfile.txt [同步本地文件时间戳最新]

官方帮助文档:

https://docs.aws.amazon.com/cli/latest/reference/s3/{cp,ls,mb,mv,presign,rb,rm,syncwebsite}.html

示例

#只上传以.jpg结尾的文件
aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg"

#同时上传包含.jpg文件和.txt文件
aws s3 cp /tmp/foo/ s3://bucket/ --recursive \
    --exclude "*" --include "*.jpg" --include "*.txt"

AWS常用选项

官方选项帮助文档链接:https://docs.aws.amazon.com/cli/latest/reference/#available-services

--debug (boolean)
Turn on debug logging.

--endpoint-url (string)
Override command's default URL with the given URL.

--no-verify-ssl (boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)
Disable automatic pagination.

--output (string)
The formatting style for command output.

json
text
table
--query (string)
A JMESPath query to use in filtering the response data.

--profile (string)
Use a specific profile from your credential file.

--region (string)
The region to use. Overrides config/env settings.

--version (string)
Display the version of this tool.

--color (string)
Turn on/off color output.

on
off
auto
--no-sign-request (boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

注意:

当您使用 aws s3 命令将大型对象上传到 Amazon S3 存储桶时,Amazon CLI 会自动执行分段上传。使用这些 aws s3 命令时,您无法恢复失败的上传操作。

如果分段上传由于超时而失败,或者您在 Amazon CLI 中手动取消该操作,则 Amazon CLI 会停止上传并清除已创建的任何文件。此过程可能耗时数分钟。

如果使用 kill 命令或者由于系统故障而取消了分段上传或清理过程,则创建的文件将保留在 Amazon S3 存储桶中。要清除分段上传,请使用 s3api abort-multipart-upload 命令。

有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的分段上传概述

 

上一篇:基于node和npm的命令行工具——tive-cli


下一篇:浅谈vue-cli 3 和 vue-cli 2的区别!!!