本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的命令行选项 AWS CLI
在中 AWS CLI,命令行选项是全局参数,可用于覆盖该单个命令的默认配置设置、任何相应的配置文件设置或环境变量设置。虽然您可以指定要使用的配置文件,但无法使用命令行选项直接指定凭证。
如何使用命令行选项
大多数命令行选项都是简单的字符串,例如,以下示例中的配置文件名 profile1
:
$
aws s3 ls --profile
profile1
amzn-s3-demo-bucket1 amzn-s3-demo-bucket2 ...
每个带参数的选项都需要一个空格或等号 (=) 将参数与选项名称分开。如果参数值为包含空格的字符串,则必须使用引号将参数引起来。有关参数类型和参数格式的详细信息,请参阅 在中指定参数值 AWS CLI。
AWS CLI 支持的全局命令行选项
在中, AWS CLI 您可以使用以下命令行选项来覆盖该单个命令的默认配置设置、任何相应的配置文件设置或环境变量设置。
- --ca-bundle
<string>
-
指定验证证书时要使用的证书颁发机构 (CA) SSL 证书包。
如果已定义,此选项将覆盖配置文件设置
ca_bundle
和AWS_CA_BUNDLE
环境变量的值。 - --cli-auto-prompt
-
为单个命令启用自动提示模式。如以下示例所示,您可以随时指定它。
$
aws --cli-auto-prompt
$
aws dynamodb --cli-auto-prompt
$
aws dynamodb describe-table --cli-auto-prompt
此选项将覆盖
aws_cli_auto_prompt
环境变量和cli_auto_prompt
配置文件设置。有关 AWS CLI 版本 2 自动提示功能的信息,请参阅在中启用和使用命令提示符 AWS CLI。
- --cli-binary-format
-
指定 AWS CLI 版本 2 如何解释二进制输入参数。它可能为下列值之一:
-
base64 – 这是默认值。键入为二进制大对象 (BLOB) 的输入参数接受 base64 编码的字符串。要传递真实的二进制内容,请将内容放在文件中,并提供文件的路径和名称,将
fileb://
前缀作为参数值。要传递文件中包含的 base64 编码文本,请提供文件的路径和名称,并将file://
前缀作为参数值。 -
raw-in-base64 输出- AWS CLI 版本 1 的默认值。如果该设置的值为
raw-in-base64-out
,则使用file://
前缀引用的文件将被读取为文本,然后 AWS CLI 尝试将其编码为二进制。
这将覆盖
cli_binary_format
文件配置设置。$
aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.json
如果您使用
fileb://
前缀表示法在文件中引用二进制值,则 AWS CLI 始终期望该文件包含原始二进制内容,并且不会尝试转换该值。如果您使用
file://
前缀表示法在文件中引用二进制值,则会根据当前cli_binary_format
设置 AWS CLI 处理该文件。如果该设置的值为base64
(未明确设置时的默认值),则 AWS CLI 期望文件包含 base64 编码的文本。如果该设置的值为raw-in-base64-out
, AWS CLI 希望文件中包含原始二进制内容。 -
- --cli-connect-timeout
<integer>
-
指定最大套接字连接时间(以秒为单位)。如果该值设置为零 (0),则套接字连接将无限等待(阻塞),不会超时。
- --cli-read-timeout
<integer>
-
指定最大套接字读取时间(以秒为单位)。如果该值设置为零 (0),则套接字读取将无限等待(阻塞),不会超时。
- --颜色
<string>
-
指定对彩色输出的支持。有效值包括
on
、off
和auto
。默认值为auto
。 - --debug
-
启用调试日志记录的布尔开关。 AWS CLI 默认情况下,在命令输出中提供有关命令结果的任何成功或失败的清理信息。
--debug
选项提供完整的 Python 日志。这包括有关命令操作的额外stderr
诊断信息,这些信息在排查命令提供意外结果的原因时非常有用。为了轻松查看调试日志,我们建议将日志发送到文件,这样可以更轻松地搜索信息。您可以使用以下方法之一实现这一点。要仅发送
stderr
诊断信息,请附加2> debug.txt
,其中debug.txt
是您要用于调试文件的名称:$
aws
2>servicename
commandname
options
--debugdebug.txt
要同时发送输出信息和
stderr
诊断信息,请附加&> debug.txt
,其中debug.txt
是您要用于调试文件的名称:$
aws
&>servicename
commandname
options
--debugdebug.txt
- --端点网址
<string>
-
指定要URL向其发送请求的。对于大多数命令, AWS CLI 会URL根据所选服务和指定 AWS 区域自动确定。但是,有些命令要求您指定特定于账户URL的命令。您也可以将某些 AWS 服务配置为直接在您的私有服务器中托管终端节点 VPC,然后可能需要对其进行指定。
以下命令示例使用自定义 Amazon S3 终端节点URL。
$
aws s3 ls --endpoint-url
http://localhost:4567
端点配置设置位于多个位置,例如系统或用户环境变量、本地 AWS 配置文件或在命令行中明确声明为参数。 AWS CLI 端点配置设置的优先顺序如下:
-
--endpoint-url
命令行选项。 -
如果启用,则
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
全局端点环境变量或配置文件设置ignore_configure_endpoint_urls
将忽略自定义端点。 -
由特定于服务的环境变量
AWS_ENDPOINT_URL_<SERVICE>
提供的值,例如AWS_ENDPOINT_URL_DYNAMODB
。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
和AWS_ENDPOINT_URL
环境变量提供的值。 -
共享
config
文件services
节中的endpoint_url
设置提供的特定于服务的端点值。 -
共享
config
文件的profile
中的endpoint_url
设置提供的值。 -
最后使用相应URL AWS 服务 端点的任何默认端点。有关每个区域可用的标准服务端点的列表,请参阅《Amazon Web Services 一般参考》中的 AWS 区域和端点。
-
- --no-cli-auto-prompt
-
禁用单个命令的自动提示模式。
$
aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt
此选项将覆盖
aws_cli_auto_prompt
环境变量和cli_auto_prompt
配置文件设置。有关 AWS CLI 版本 2 自动提示功能的信息,请参阅在中启用和使用命令提示符 AWS CLI。
- --no-cli-pager
-
一个布尔开关,它对命令输出禁用分页程序。
- --no-paginate
-
一个布尔开关,用于禁用自动进行的多次调 AWS CLI 用,以接收创建输出分页的所有命令结果。这意味着只显示您的输出的第一页。
- --no-sign-request
-
一个布尔开关,用于禁用对 AWS 服务端点的HTTP请求进行签名。这可避免加载凭证。
- --no-verify-ssl
-
默认情况下,在与 AWS 服务通信SSL时 AWS CLI 使用。对于每个SSL连接和调用,都会 AWS CLI 验证SSL证书。使用此选项会覆盖验证SSL证书的默认行为。
警告
此选项不是 最佳做法。如果您使用
--no-verify-ssl
,则您的客户端和 AWS 服务之间的流量将不再受到保护。这意味着您的流量存在安全风险,容易受到攻 man-in-the-middle击。如果您遇到证书问题,最好解决这些问题。有关证书故障排除步骤,请参阅 SSL证书错误。 - --output
<string>
-
指定用于该命令的输出格式。您可以指定以下任意值:
- --profile
<string>
-
指定用于该命令的命名配置文件。要设置其他命名配置文件,可以在
aws configure
命令中使用--profile
选项。$
aws configure --profile
<profilename>
- --查询
<string>
-
指定用于筛选响应数据的JMESPath查询
。有关更多信息,请参阅 在中筛选输出 AWS CLI。 - --region
<string>
-
指定要将此命令的 AWS 请求发送到哪个 AWS 区域。有关您可以指定的所有区域的列表,请参阅《Amazon Web Services 一般参考》中的 AWS 区域和端点。
- --version
-
一个布尔开关,用于显示正在运行的 AWS CLI 程序的当前版本。
命令行选项的常见用法
常见的命令行选项用法包括在编写脚本时检查多个 AWS 区域中的资源,以及更改输出格式使其易于阅读或使用。在以下示例中,我们对每个区域运行 describe-instances 命令,直到我们找到实例所在的区域。
$
aws ec2 describe-instances --output table --region
us-west-1
------------------- |DescribeInstances| +-----------------+
$aws ec2 describe-instances --output table --region
us-west-2
------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...