封面

aws command line 用法

aws除了登陆到网页操作之外,还提供了api和命令行的操作方式。本文介绍了aws cli命令行工具的安装,权限配置和s3相关命令。

安装方式

  1. 通过python环境安装

pip install awscli

  1. pkg安装

    https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/install-cliv2-mac.html

配置权限

aws configure 可以配置一个默认的账号权限,输入以下4个值对应在的配置

AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE

AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Default region name [None]: us-west-2 sdk里是下划线,命令行这里要用横线

Default output format [None]: json

Default output format 指定结果的格式。可以是以下列表中的任何值。如果未指定输出格式,则默认使用 json

  • json – 输出采用 JSON 字符串的格式。
  • yaml – 输出采用 YAML 字符串的格式。(仅在 AWS CLI 版本 2 中可用。)
  • yaml-stream – 输出被流式处理并采用 YAML 字符串的格式。流式处理支持更快地处理大型数据类型。(仅在 AWS CLI 版本 2 中可用。)
  • text – 输出采用多个制表符分隔字符串值行的格式。这对于将输出传递到文本处理器(如 grepsedawk)很有用。
  • table – 输出采用表格形式,使用字符 +|- 以形成单元格边框。它通常以“人性化”格式呈现信息,这种格式比其他格式更容易阅读,但从编程方面来讲不是那么有用。

aws help可以获取帮助信息

aws configure --profile produser 配置别名后,可以同时配多个账号切换使用

aws s3 ls--profile produser 可以查看对应账号的信息

aws configure --profile produser
AKIAI44QH8DHBEXAMPLE
je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
us-east-1
text

配置完之后会在~/.aws下生成2个文件 credentialsconfig ,配置的内容都在这里

~/.aws/credentials

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default]
region=us-west-2
output=json

aws configure list可以查看所有配置的数据

aws s3用法

对应命令

acl 可选参数配置权限

  • 以公共读的权限,复制本地文件到s3对应的目录下

aws s3 cp ~/Downloads/a.png s3://cdn-g123/h5-g123/game/kemo/ogp.png --acl public-read

  • 将本地文件夹同步到s3对应的目录下

aws s3 sync . s3://my-bucket/path --acl public-read

标准 ACL

Amazon S3 支持一系列预定义的授权,称为标准 ACL。每个标准 ACL 都有一组预定义的被授权者和许可。下表列出了一系列标准 ACL 和相关联的预定义授权。

标准 ACL 适用于 添加到 ACL 的权限
private 存储桶和对象 所有者将获得 FULL_CONTROL。其他人没有访问权限 (默认)。
public-read 存储桶和对象 所有者将获得 FULL_CONTROLAllUsers 组 (参阅 谁是被授权者?) 将获得 READ 访问权限。
public-read-write 存储桶和对象 所有者将获得 FULL_CONTROLAllUsers 组将获得 READWRITE 访问权限。通常不建议在存储桶上授予该权限。
aws-exec-read 存储桶和对象 所有者获取 FULL_CONTROL。Amazon EC2 从 Amazon S3 获取对 GET Amazon 系统映像 (AMI) 捆绑的 READ 访问权限。
authenticated-read 存储桶和对象 所有者将获得 FULL_CONTROLAuthenticatedUsers 组将获得 READ 访问权限。
bucket-owner-read Object 对象所有者将获得 FULL_CONTROL。存储桶拥有者将获得 READ 访问权限。如果您在创建存储桶时指定此标准 ACL,Amazon S3 将忽略它。
bucket-owner-full-control Object 对象所有者和存储桶拥有者均可获得对对象的 FULL_CONTROL。如果您在创建存储桶时指定此标准 ACL,Amazon S3 将忽略它。
log-delivery-write 存储桶 LogDelivery 组将获得针对存储桶的 WRITEREAD_ACP 许可。有关日志的更多信息,请参阅 (Amazon S3 服务器访问日志记录)。

最后leader推荐了一个客户端

cyberduck 小黄鸭它不香吗,用个鬼的命令行啊。

(https://dl.acronis.com/u/software-defined/html/AcronisCyberInfrastructure_3_5_users_guide_zh-CN/_images/stor_image50.png)

image-20201029190726465

上传图片时需要执开启public-read权限,不然上传的图片是打不开的

image-20201029192409798

使用教程:通过 CyberDuck 访问 S3 存储

文章目录
  1. 1. 安装方式
  2. 2. 配置权限
  3. 3. aws s3用法
    1. 3.0.1. acl 可选参数配置权限
  4. 3.1. 标准 ACL
  • 4. 最后leader推荐了一个客户端


  • twitter分享


    如果想及时收到回复,可在 订阅中心Participating中勾选Email

    Fork me on GitHub