本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的常见参数类型 AWS CLI
本节介绍一些通用参数类型以及典型的所需格式。
如果您不知道如何设置特定命令的参数格式,请在命令名称后输入 help
来查看帮助。每个子命令的帮助均包括一个选项的名称和描述。该选项的参数类型在括号中列出。有关查看帮助的更多信息,请参阅 访问帮助和资源 AWS CLI。
String
字符串参数可以包含字符集中的字母数字字符、符号和空格。ASCII
一些字符串参数可接受来自文件的二进制数据。有关示例,请参阅二进制文件。
Timestamp
时间戳按照 ISO860DateTime
”或“Date
”参数。
$
aws ec2 describe-spot-price-history
--start-time 2014-10-13T19:00:00Z
可接受的格式包括:
-
YYYY
-MM
-DD
Thh
:mm
:ss.sss
TZD (UTC)
,例如,2014-10-01T20:30:00.000 Z -
YYYY
-MM
-DD
Thh
:mm
:ss.sss
TZD (with offset)
,例如,2014-10-01T12:30:00.000-08:00 -
YYYY
-MM
-DD
,例如,2014-10-01 -
以秒为单位的 Unix 时间,如 1412195400。这有时被称为 Unix Epoch 时间
,代表自 1970 年 UTC 1 月 1 日午夜以来的秒数。
默认情况下, AWS CLI 版本 2 将所有响应 DateTime 值转换为 ISO 8601 格式。
您可以使用 cli_timestamp_format
文件设置来设置时间戳格式。
列出
以空格分隔的一个或多个字符串。如果任何字符串项目包含空格,则必须用引号括起该项目。遵循您终端的引号规则以防止出现意外结果。
$
aws ec2 describe-spot-price-history
--instance-types m1.xlarge m1.medium
布尔值
打开或关闭某一选项的二进制标志。例如,ec2
describe-spot-price-history
有一个布尔 --dry-run
参数,如果指定该参数,则针对服务验证查询而不实际运行查询。
$
aws ec2 describe-spot-price-history
--dry-run
输出指示命令格式是否正确。此命令还包含一个 --no-dry-run
参数版本,可以用来显式指示命令应正常运行。不过不是必须包含此参数,因为这是默认行为。
整数
无符号整数。
$
aws ec2 describe-spot-price-history
--max-items 5
二进制/Blob(二进制大型对象)和流式传输 Blob
在中 AWS CLI,您可以直接在命令行中将二进制值作为字符串传递。共有两种类型的 blob:
Blob
要将值传递给类型为 blob
的参数,必须使用 fileb://
前缀指定包含二进制数据的本地文件的路径。使用 fileb://
前缀引用的文件始终被作为原始未编码二进制文件进行处理。指定的路径被解释为相对于当前工作目录。例如,适用于 aws kms encrypt
的 --plaintext
参数是一个 blob。
$
aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
--plaintext fileb://ExamplePlaintextFile
\ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile
注意
为了向后兼容,您可以使用 file://
前缀。根据文件设置 cli_binary_format
或 --cli-binary-format
命令行选项,可以使用两种格式:
-
AWS CLI 版本 2 的默认值。如果设置的值为
base64
,则使用file://
前缀引用的文件将被作为 base64 编码文本进行处理。 -
AWS CLI 版本 1 的默认值。如果设置的值为
raw-in-base64-out
,则使用file://
前缀引用的文件会作为文本进行读取,然后 AWS CLI 尝试将其编码为二进制。
有关更多信息,请参阅文件设置 cli_binary_format
或 --cli-binary-format
命令行选项。
流式 Blob
aws cloudsearchdomain upload-documents
等流式 Blob 不使用前缀。相反,流式传输 blob 参数使用直接文件路径进行格式化。以下示例对于 aws cloudsearchdomain
upload-documents
命令使用直接文件路径 document-batch.json
:
$
aws cloudsearchdomain upload-documents \ --endpoint-url https://doc-my-domain.us-west-1.cloudsearch.amazonaws.com \ --content-type application/json \ --documents
document-batch.json
Map
使用的速记语法在JSON或中指定的一组键值对。CLI以下JSON示例从名为 my-table 的亚马逊 DynamoDB 表中读取一个带有地图参数的项目。--key
该参数在嵌套JSON结构中指定名为 id 且数字值为 1 的主键。
要在命令行中获得更高级的JSON用法,可以考虑使用命令行JSON处理器(比如jq
)来创建JSON字符串。有关的更多信息jq
,请参阅上的 jq 存储库
$
aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'
{ "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }
文档
注意
速记语法与文档类型不兼容。
文档类型用于发送数据,而无需嵌入到JSON字符串中。文档类型使服务能够提供任意架构,以便您使用更灵活的数据类型。
这允许在无需对值进行转义的情况下发送JSON数据。例如,不要使用以下转义JSON输入:
{"document": "{\"key\":true}"}
您可以使用以下文档类型:
{"document": {"key": true}}
文档类型的有效值
由于文档类型本身多种多样,因此存在多个有效值类型。有效值包括:
- 字符串
-
--option
'"value"'
- 数字
-
--option
123
--option
123.456
- 布尔值
-
--option
true
- Null
-
--option
null
- 数组
-
--option
'["value1", "value2", "value3"]'
--option
'["value", 1, true, null, ["key1", 2.34], {"key2": "value2"}]'
- 对象
-
--option
'{"key": "value"}'
--option
'{"key1": "value1", "key2": 123, "key3": true, "key4": null, "key5": ["value3", "value4"], "key6": {"value5": "value6"}'