Amazon S3命令行工具

  |   0 评论   |   0 浏览

背景

使用过Amazon S3的图形化工具winscp,但是目录下文件太多时,list目录内容时会卡死。

所以最稳的方式还是使用CLI工具。

初体验

包安装

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

Linux下安装

pip install awscli

如果下载慢,可以使用 aliyun镜像。

pip install awscli -i https://mirrors.aliyun.com/pypi/simple/

使用

aws --endpoint-url https://xxx --profile xxx s3 ls s3://bucket/file

性能优化

[3]

  • max_concurrent_requests: 此值用于设置一次可以发送至 Amazon S3 的请求数量。原定设置值为 10。
    注意: 运行的线程越多,消耗的计算机资源也越多。您必须确保您的计算机拥有足够的资源来支持您想要的最大并发请求数。
  • max_queue_size: 此值用于设置队列中的最大任务数量。原定设置值为 1000。
  • multipart_threshold: 此值用于为单个文件的分段上传设置大小阈值。原定设置值为 8 MB。
  • multipart_chunksize: 此值设置 AWS CLI 在单个文件的分段上传中上传的每个段的大小。通过此设置,您可以将较大的文件(例如 300 MB)分解为较小的段,以加快上传速度。原定设置值为 8 MB。
    注意: 分段上传要求单个文件上传时所分的不同段不超过 10000 个。您必须确保您所设置的区块大小平衡了段文件大小和段的数量。
  • max_bandwidth: 此值用于设置将数据上传到 Amazon S3 的最大带宽。没有原定设置值。

设置示例:

aws configure set s3.max_concurrent_requests 20 --profile test-profile

参考

  1. winscp
  2. AWS 命令行界面
  3. 在向 Amazon S3 上传大文件时,如何优化性能?