通用 AWS CLI 参数类型 - AWS Command Line Interface
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

通用 AWS CLI 参数类型

本节介绍一些通用参数类型以及典型的所需格式。如果您不知道如何设置特定命令的参数格式,请在命令名称后键入 help 来查看帮助,如下所示。

$ aws ec2 describe-spot-price-history help

每个子命令的帮助都介绍了其功能、选项、输出和示例。选项部分包括每个选项的名称和说明,并在括号中给出了选项的参数类型。

String

字符串参数可以包含 ASCII 字符集中的字母数字字符、符号和空格。包含空格的字符串必须用引号引起来。我们建议您不要使用标准空格字符以外的符号或空格,因为它可能会导致意外结果。

一些字符串参数可接受来自文件的二进制数据。有关示例,请参阅二进制文件

时间戳

时间戳根据 ISO 8601 标准设置格式。这些有时称为“DateTime”或“Date”参数。

$ aws ec2 describe-spot-price-history --start-time 2014-10-13T19:00:00Z

可接受的格式包括:

  • YYYY-MM-DDThh:mm:ss.sssTZD (UTC),例如,2014-10-01T20:30:00.000Z

  • YYYY-MM-DDThh:mm:ss.sssTZD(带偏移量),例如,2014-10-01T12:30:00.000-08:00

  • YYYY-MM-DD,例如,2014-10-01

  • 以秒为单位的 Unix 时间,如 1412195400。这有时称为 Unix 纪元时间,表示自 1970 年 1 月 1 日午夜 (UTC) 以来经历的秒数。

(仅在 AWS CLI 版本 2 中可用。) 默认情况下,AWS CLI 版本 2 会将所有响应日期时间值转换为 ISO 8601 格式。

列表

以空格分隔的一个或多个字符串。如果任何字符串项目包含空格,则必须用引号括起该项目。

$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium

Boolean – 打开或关闭选项的二进制标志。例如,ec2 describe-spot-price-history 有一个布尔 --dry-run 参数,如果指定该参数,则针对服务验证查询而不实际运行查询。

$ aws ec2 describe-spot-price-history --dry-run

输出指示命令格式是否正确。此命令还包含一个 --no-dry-run 参数版本,可以用来显式指示命令应正常运行。不过不是必须包含此参数,因为这是默认行为。

Integer

无符号整数。

$ aws ec2 describe-spot-price-history --max-items 5

二进制/Blob(二进制大型对象)

在 AWS CLI 版本 1 中,要将值传递给具有类型 blob 的参数,必须指定包含二进制数据的本地文件的路径。此路径不应包含任何协议标识符,例如 http://file://。指定的路径被解释为相对于当前工作目录。例如,适用于 aws s3api put-object--body 参数是一个 blob。

$ aws s3api put-object --bucket my-bucket --key testimage.png --body /tmp/image.png

(仅在 AWS CLI 版本 2 中可用。) 在 AWS CLI 版本 2 中,您可以将二进制值作为 base64 编码字符串直接在命令行上传递。此外,默认情况下在 AWS CLI 版本 2 中,使用 file:// 前缀引用的文件会被作为 base64 编码文本进行处理。

您可以通过完成以下 cli-binary-format 设置,将 AWS CLI 版本 2 恢复为与 AWS CLI 版本 1 兼容:

  • 如果设置的值为 raw-in-base64-out,则使用 file:// 前缀引用的文件将被作为原始未编码二进制文件进行处理。

  • 如果设置的值为 base64(默认值),则使用 file:// 前缀引用的文件将被作为 base64 编码文本进行处理。

无论 cli_binary_format 设置如何,使用 fileb:// 前缀引用的文件将始终被作为原始未编码二进制文件进行处理。

有关更多信息,请参阅 cli-binary-format 设置。

映射

使用 JSON 或 CLI 的速记语法指定的一系列密钥值对。以下 JSON 示例使用 map 参数 --key 从名为 my-table 的 Amazon DynamoDB 表中读取项目。此参数在嵌套的 JSON 结构中指定名为 id 且数值为 1 的主键。

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}' { "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }