中的配置和凭据文件设置 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

中的配置和凭据文件设置 Amazon CLI

您可以将常用的配置设置和凭证保存在由 Amazon CLI维护的文件中。

这些文件将分成 profiles。默认情况下, Amazon CLI 使用名为的配置文件中的设置default。要使用备用设置,您可以创建和引用其他配置文件。

您可以通过设置某个支持的环境变量或使用命令行参数来覆盖个别设置。有关配置设置优先顺序的更多信息,请参阅为配置设置 Amazon CLI

注意

有关如何设置凭证的信息,请参阅 的身份验证和访问凭证 Amazon CLI

配置和凭证文件的格式

configcredentials 文件将归入各个节中。节包括 profilessso-sessionsservices。节是一个命名的设置集合,它一直持续到遇到另一个节定义行为止。可将多个配置文件和节存储在 configcredentials 文件中。

这些文件是使用以下格式的纯文本文件:

  • 节名称用方括号 [] 括起来,例如 [default][profile user1][sso-session]

  • 节中的所有条目均采用 setting_name=value 的一般形式。

  • 可以通过以井号字符 (#) 开头来注释掉行。

config 和 credentials 文件包含以下节类型:

节类型:profile

这些 Amazon CLI 商店

配置文件节名称使用以下格式,具体取决于文件:

  • Config 文件: [default] [profile user1]

  • 凭证文件: [default] [user1]

    credentials 文件中创建条目时,请勿 使用单词 profile

每个配置文件都可以指定不同的凭证,还可以指定不同的 Amazon 区域和输出格式。在 config 文件中命名配置文件时,请包括前缀词“profile”,但不要将它包括在 credentials 文件中。

以下示例显示指定了两个配置文件、区域和输出的 credentialsconfig 文件。第一个 [default] 配置文件在运行未指定配置文件的 Amazon CLI 命令时使用。第二个参数用于运行带有--profile user1参数的 Amazon CLI 命令。

IAM Identity Center (SSO)

这个例子是为 Amazon IAM Identity Center了。有关更多信息,请参阅 使用配置IAM身份中心身份验证 Amazon CLI

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

此示例适用于的传统方法 Amazon IAM Identity Center。有关更多信息,请参阅 使用配置IAM身份中心身份验证 Amazon CLI

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

此示例介绍来自 Amazon Identity and Access Management的短期凭证。有关更多信息,请参阅 使用短期凭证进行身份验证 Amazon CLI

凭证文件

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Config 文件

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

此示例用于代入IAM角色。使用IAM角色的配置文件从另一个配置文件中提取证书,然后应用IAM角色权限。在以下示例中,default 是凭证的源配置文件,user1 将借用相同的凭证,然后代入新角色。有关更多信息,请参阅 在中使用IAM角色 Amazon CLI

凭证文件

credentials 文件取决于源配置文件使用的身份验证。在以下示例中,源配置文件使用短期凭证。

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Config 文件

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

此示例适用于从托管 Amazon EC2 实例元数据中获取的证书。有关更多信息,请参阅 使用 Amazon EC2 实例元数据作为凭证 Amazon CLI

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

为避免安全风险,在开发专用软件或处理真实数据时,请勿使用IAM用户进行身份验证。而是使用与身份提供商的联合身份验证,例如 Amazon IAM Identity Center

此示例介绍来自 Amazon Identity and Access Management的长期凭证。有关更多信息,请参阅 使用IAM用户凭据进行身份验证 Amazon CLI

凭证文件

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Config 文件

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

有关更多信息以及其他授权和凭证方法,请参阅 使用IAM用户凭据进行身份验证 Amazon CLI

节类型:sso-session

config文件的sso-session部分用于对用于获取SSO访问令牌的配置变量进行分组,然后可以使用这些变量来获取 Amazon 凭证。使用了以下设置:

您定义一个 sso-session 部分并将其关联到配置文件。必须在 sso-session 部分内设置 sso_regionsso_start_url。通常,sso_role_name必须在profile部分中设置sso_account_id和,以便SDK可以请求SSO证书。

以下示例将配置为请求SSO凭证并支持自动刷新令牌:SDK

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

这也允许在多个配置文件中重复使用 sso-session 配置:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

但是sso_account_idsso_role_name并非所有SSO令牌配置场景都需要 and。如果您的应用程序仅使用支持持有者身份验证的 Amazon 服务,则不需要传统 Amazon 凭证。持有人身份验证是一种使用称为不记名令牌的安全令牌的HTTP身份验证方案。在这种情况下,不需要 sso_account_idsso_role_name。请参阅您的 Amazon 服务的个人指南,以确定其是否支持不记名令牌授权。

此外,可以作为 sso-session 的一部分配置注册范围。Scope 是 OAuth 2.0 中的一种机制,用于限制应用程序对用户帐户的访问权限。应用程序可以请求一个或多个范围,向应用程序签发的访问令牌将仅限于授予的范围。这些范围定义了为注册OIDC客户端请求授权的权限以及客户端检索的访问令牌。以下示例将 sso_registration_scopes 设置为提供已列出账户/角色的访问权限:

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

身份验证令牌缓存到 ~/.aws/sso/cache 目录下的磁盘上,文件名基于会话名称。

有关此配置类型的更多信息,请参阅 使用配置IAM身份中心身份验证 Amazon CLI

节类型:services

services部分是一组设置,用于为 Amazon Web Services 服务 请求配置自定义终端节点。然后,配置文件将链接到 services 节。

[profile dev] services = my-services

services 节按 <SERVICE> = 行分成多个小节,其中 <SERVICE> 是 Amazon Web Services 服务 标识键。标 Amazon Web Services 服务 识符基于API模型的标识符,将所有空格serviceId替换为下划线,并将所有字母小写。有关 services 节中要使用的所有服务标识符密钥的列表,请参阅在中使用终端节点 Amazon CLI。服务标识符密钥后面是嵌套的设置,每个设置单独成行,缩进两个空格。

以下示例将终端节点配置为用于向 Amazon DynamoDB 服务发出的请求 my-services 中使用的部分 dev 个人资料。后面紧跟的任何缩进行都包含在该小节中,并适用于该服务。

[profile dev] services = my-services [services my-services] dynamodb = endpoint_url = http://localhost:8000

有关特定于服务的端点的更多信息,请参阅 ‬在中使用终端节点 Amazon CLI

如果您的配置文件具有通过用于IAM代入角色功能的source_profile参数配置的基于角色的凭证,则SDK仅使用指定配置文件的服务配置。它不使用关联有角色的配置文件。例如,使用以下共享 config 文件:

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

如果您使用个人资料B并在代码中调用 AmazonEC2,则终端节点将解析为https://profile-b-ec2-endpoint.aws。如果您的代码向其他任何服务发出请求,则端点解析将不遵循任何自定义逻辑。该端点不会解析到配置文件 A 中定义的全局端点。要使全局端点对配置文件 B 生效,您需要直接在配置文件 B 中设置 endpoint_url

配置设置存储在何处?

将您指定的敏感凭证信息 Amazon CLI 存储在名为的本地文件aws configurecredentials,该文件位于您的主目录.aws中名为的文件夹中。使用 aws configure 指定的较不敏感的配置选项存储在名为 config 的本地文件中,该文件也存储在主目录的 .aws 文件夹中。

在 config 文件中存储凭证

您可以将所有配置文件设置保存在一个文件中,因为他们 Amazon CLI 可以从config文件中读取凭据。如果两个文件中都有共享相同名称的配置文件的凭证,则凭证文件中的密钥优先。我们建议将凭证保存在 credentials 文件中。各种语言软件开发套件 (SDKs) 也使用这些文件。如果您使用除之外的SDKs其中一个 Amazon CLI,请确认证书是否应存储在自己的文件中。

主目录位置因操作系统而异,但在 Windows 中使用环境变量 %UserProfile% 引用,在基于 Unix 的系统中使用 $HOME~(波形符)引用。通过将 AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE 环境变量设置为另一个本地路径,可以为文件指定非默认位置。有关详细信息,请参阅 为配置环境变量 Amazon CLI

当您使用指定 Amazon Identity and Access Management (IAM) 角色的共享配置文件时,会 Amazon CLI 调用该 Amazon STS AssumeRole操作来检索临时证书。随后,这些凭证将存储起来(存储在 ~/.aws/cli/cache 中)。后续 Amazon CLI 命令使用缓存的临时证书,直到它们过期,此时会 Amazon CLI 自动刷新证书。

使用命名配置文件

如果未明确定义配置文件,则使用 default 配置文件。

要使用命名配置文件,请向您的命令添加 --profile profile-name 选项。以下示例使用user1配置文件中定义的证书和设置列出了您的所有 Amazon EC2 实例。

$ aws ec2 describe-instances --profile user1

要为多个命令使用一个命名配置文件,可以通过将 AWS_PROFILE 环境变量设置为默认配置文件来避免在每个命令中指定配置文件。您可以使用 --profile 参数来覆盖此设置。

Linux or macOS
$ export AWS_PROFILE=user1
Windows
C:\> setx AWS_PROFILE user1

使用 set 设置环境变量会更改使用的值,直到当前命令提示符会话结束,或者直到您将该变量设置为其他值。

使用 setx 设置环境变量会更改运行命令后创建的所有命令 Shell 中的值。这不会 影响运行命令时已在运行的任何命令 Shell。关闭并重新启动命令 Shell 可查看这一更改的效果。

设置环境变量会更改默认配置文件,直到 Shell 会话结束或直到您将该变量设置为其他值。通过将环境变量放在 shell 的启动脚本中,可使环境变量在未来的会话中继续有效。有关更多信息,请参阅 为配置环境变量 Amazon CLI

使用命令设置和查看配置设置

可通过多种方法使用命令来查看和设置配置设置。

aws configure

运行此命令可快速设置和查看 凭证、区域和输出格式。以下示例显示了示例值。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json
aws configure set

您可以使用 aws configure set 设置任何凭证或配置设置。使用 --profile 设置指定要查看或修改的配置文件。

例如,以下命令设置名为 region 的配置文件中的 integ

$ aws configure set region us-west-2 --profile integ

要移除设置,请在文本编辑器中手动删除configcredentials文件中的设置。

aws configure get

您可以检索已使用 aws configure get 设置的任何凭证或配置设置。使用 --profile 设置指定要查看或修改的配置文件。

例如,以下命令检索名为 region 的配置文件中的 integ 设置。

$ aws configure get region --profile integ us-west-2

如果输出为空,不会显式设置该设置,并将使用默认值。

aws configure import

导入从 IAM Web 控制台生成的CSV凭证。这不适用于从IAM身份中心生成的证书;使用身份中心的客户应使用 IAM aws configure sso。将导入一个配置CSV文件名称与用户名匹配的文件。该CSV文件必须包含以下标题。

  • 用户名称

  • 访问密钥 ID

  • 秘密访问密钥

注意

在创建初始密钥对期间,一旦您关闭 Download .csv file(下载 .csv 文件)对话框,在关闭该对话框之后就无法访问秘密访问密钥了。如果您需要 .csv 文件,则需要自己创建一个包含所需标头和存储的密钥对信息的文件。如果您无法访问密钥对信息,则需要创建新的密钥对。

$ aws configure import --csv file://credentials.csv
aws configure list

要列出配置数据,请使用 aws configure list 命令。此命令列出配置文件以及用于指定的配置文件的访问密钥、密钥和区域配置信息。对于每个配置项目,它会显示值、检索配置值的位置以及配置变量名称。

例如,如果您在环境变量 Amazon Web Services 区域 中提供,则此命令会显示您配置的区域的名称、该值来自环境变量以及环境变量的名称。

对于角色和 Identity Center 等临时凭IAM证方法,此命令显示临时缓存的访问密钥并显示私有访问密钥。

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles

要列出所有配置文件名称,请使用 aws configure list-profiles 命令。

$ aws configure list-profiles default test
aws configure sso

运行此命令可快速设置和查看您的 Amazon IAM Identity Center 凭证、区域和输出格式。以下示例显示了示例值。

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
aws configure sso-session

运行此命令可在和文件的 sso-session 部分快速设置和查看您的 Amazon IAM Identity Center 凭证、区域和输出格式。credentials config以下示例显示了示例值。

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

设置新的配置和凭证命令示例

以下示例说明如何使用为不同的身份验证方法指定的凭证、区域和输出配置默认配置文件。

IAM Identity Center (SSO)

此示例用于 Amazon IAM Identity Center 使用向aws configure sso导。有关更多信息,请参阅 使用配置IAM身份中心身份验证 Amazon CLI

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 Amazon accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

此示例适用于 Amazon IAM Identity Center 使用aws configure sso向导的传统方法。要使用旧版SSO,请将会话名称留空。有关更多信息,请参阅 使用配置IAM身份中心身份验证 Amazon CLI

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 Amazon accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

此示例介绍来自 Amazon Identity and Access Management的短期凭证。aws 配置向导用于设置初始值,然后 aws configure set 命令分配所需的最后一个值。有关更多信息,请参阅 使用短期凭证进行身份验证 Amazon CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

此示例用于代入IAM角色。使用IAM角色的配置文件从另一个配置文件中提取证书,然后应用IAM角色权限。在以下示例中,default 是凭证的源配置文件,user1 将借用相同的凭证,然后代入新角色。此过程没有向导,因此,将使用 aws configure set 命令设置每个值。有关更多信息,请参阅 在中使用IAM角色 Amazon CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

此示例适用于从托管 Amazon EC2 实例元数据中获取的证书。此过程没有向导,因此,将使用 aws configure set 命令设置每个值。有关更多信息,请参阅 使用 Amazon EC2 实例元数据作为凭证 Amazon CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

为避免安全风险,在开发专用软件或处理真实数据时,请勿使用IAM用户进行身份验证。而是使用与身份提供商的联合身份验证,例如 Amazon IAM Identity Center

此示例介绍来自 Amazon Identity and Access Management的长期凭证。有关更多信息,请参阅 使用IAM用户凭据进行身份验证 Amazon CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

支持的 config 文件设置

config 文件支持以下设置。将使用指定(或默认)配置文件中列出的值,除非它们被具有相同名称的环境变量或具有相同名称的命令行选项覆盖。有关哪些顺序设置优先的更多信息,请参阅为配置设置 Amazon CLI

全局设置

aws_access_key_id

指定用作证书一部分的 Amazon 访问密钥,用于对命令请求进行身份验证。虽然它可以存储在 config 文件中,但我们建议您将其存储在 credentials 文件中。

可以被 AWS_ACCESS_KEY_ID 环境变量覆盖。您不能将访问密钥 ID 指定为命令行选项。

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key

指定用作证书一部分的 Amazon 密钥,用于对命令请求进行身份验证。虽然它可以存储在 config 文件中,但我们建议您将其存储在 credentials 文件中。

可以被 AWS_SECRET_ACCESS_KEY 环境变量覆盖。您不能将私有访问密钥指定为命令行选项。

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

指定会 Amazon 话令牌。只有在手动指定临时安全凭证时才需要会话令牌。虽然它可以存储在 config 文件中,但我们建议您将其存储在 credentials 文件中。

可以被 AWS_SESSION_TOKEN 环境变量覆盖。您不能将会话令牌指定为命令行选项。

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

指定用于验证SSL证书的 CA 证书捆绑包(.pem扩展名为的文件)。

可以被 AWS_CA_BUNDLE 环境变量或 --ca-bundle 命令行选项覆盖。

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt

启用 Amazon CLI 版本 2 的自动提示。可以使用两种设置:

  • on 每次尝试运行 aws 命令时都会使用完整的自动提示模式。这包括在完成命令或不完整的命令ENTER之后按下。

    cli_auto_prompt = on
  • on-partial 使用部分自动提示模式。如果命令不完整或由于客户端验证错误而无法运行,则使用自动提示。如果您已有现有脚本、运行手册,或者如果您希望只对于不熟悉的命令收到自动提示,而不是每个命令都收到提示,则此模式将非常有帮助。

    cli_auto_prompt = on-partial

您可以使用 aws_cli_auto_prompt 环境变量或 --cli-auto-prompt--no-cli-auto-prompt 命令行参数覆盖此设置。

有关 Amazon CLI 版本 2 自动提示功能的信息,请参阅在中启用和使用命令提示符 Amazon CLI

cli_binary_format

指定 Amazon CLI 版本 2 如何解释二进制输入参数。它可能为下列值之一:

  • base64 – 这是默认值。键入为二进制大对象 (BLOB) 的输入参数接受 base64 编码的字符串。要传递真实的二进制内容,请将内容放在文件中,并提供文件的路径和名称,将 fileb:// 前缀作为参数值。要传递文件中包含的 base64 编码文本,请提供文件的路径和名称,并将 file:// 前缀作为参数值。

  • raw-in-base64 输出- Amazon CLI 版本 1 的默认值。如果设置的值为 raw-in-base64-out,则使用 file:// 前缀引用的文件会作为文本进行读取,然后 Amazon CLI 尝试将其编码为二进制。

此条目没有等效的环境变量。您可以使用 --cli-binary-format raw-in-base64-out 参数在单个命令上指定此值。

cli_binary_format = raw-in-base64-out

如果您使用fileb://前缀表示法在文件中引用二进制值,则 Amazon CLI 始终期望该文件包含原始二进制内容,并且不会尝试转换该值。

如果您使用file://前缀表示法在文件中引用二进制值,则会根据当前cli_binary_format设置 Amazon CLI 处理该文件。如果该设置的值为base64(未明确设置时的默认值),则 Amazon CLI 期望文件包含 base64 编码的文本。如果该设置的值为raw-in-base64-out,则 Amazon CLI 期望文件包含原始二进制内容。

cli_history

默认情况下禁用。此设置启用 Amazon CLI的命令历史记录。启用此设置后,会 Amazon CLI 记录aws命令的历史记录。

cli_history = enabled

您可以使用 aws history list 命令列出您的历史记录,然后使用 aws history show 命令中生成的 command_ids 获取详细信息。有关更多信息,请参阅《Amazon CLI 参考指南》中的 aws history

cli_pager

指定用于处理输出的分页程序。默认情况下, Amazon CLI 版本 2 通过操作系统的默认寻呼机程序返回所有输出。

可以被AWS_PAGER环境变量覆盖。

cli_pager=less
cli_timestamp_format

指定输出中包含的时间戳值的格式。可以指定以下任一值:

  • iso8601 — 版本 2 的 Amazon CLI 默认值。如果指定,则会根据 Amazon CLI 8601 重新格式化所有时间戳。ISO

    ISO8601 格式化的时间戳类似于以下示例。第一个示例显示了协调世界时 (UTC) 中的时间,方法是在时间Z之后加上 a。日期和时间由 T 分隔。

    2019-10-31T22:21:41Z

    要指定不同的时区,不是Z,请指定+-以及所需时区领先或落后的小时数UTC,作为两位数的值。以下示例显示的时间与上一个示例相同,但调整为太平洋标准时间,后者落后了八个小时UTC。

    2019-10-31T14:21:41-08
  • wir e — Amazon CLI 版本 1 的默认值。如果指定,则 Amazon CLI 会显示与HTTP查询响应中收到的所有时间戳值完全相同。

该条目没有等效的环境变量或命令行选项。

cli_timestamp_format = iso8601
credential_process

指定一个外部命令, Amazon CLI 运行该命令以生成或检索用于此命令的身份验证凭据。命令必须以特定格式返回凭证。有关如何使用该设置的更多信息,请参阅使用外部流程采购凭证 Amazon CLI

该条目没有等效的环境变量或命令行选项。

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

在 Amazon EC2 实例或容器中使用,用于指定在哪里 Amazon CLI 可以找到用于代入您通过role_arn参数指定的角色的证书。不能在同一配置文件中同时指定 source_profilecredential_source

此参数具有三个值:

  • 环境-指定要从环境变量中检索源凭证。 Amazon CLI

  • Ec@@ 2 InstanceMetadata — 指定使用附加到EC2实例配置文件的IAM角色来获取源证书。 Amazon CLI

  • EcsContainer— 指定使用附加到ECS容器的IAM角色作为源凭证。 Amazon CLI

credential_source = Ec2InstanceMetadata
duration_seconds

指定角色会话的最大持续时间(以秒为单位)。该值的范围在 900 秒(15 分钟)到角色的最大会话持续时间设置之间。此参数为可选参数,默认情况下,该值设置为 3600 秒。

endpoint_url

指定用于所有服务请求的端点。如果在 config 文件的 services 节中使用此设置,则该端点仅用于指定的服务。

以下示例使用全局端点 http://localhost:1234 和用于 Amazon S3 的特定于服务的端点 http://localhost:4567

[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

端点配置设置位于多个位置,例如系统或用户环境变量、本地 Amazon 配置文件或在命令行中明确声明为参数。 Amazon CLI 端点配置设置的优先顺序如下:

  1. --endpoint-url 命令行选项。

  2. 如果启用,则 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 全局端点环境变量或配置文件设置 ignore_configure_endpoint_urls 将忽略自定义端点。

  3. 由特定于服务的环境变量 AWS_ENDPOINT_URL_<SERVICE> 提供的值,例如 AWS_ENDPOINT_URL_DYNAMODB

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 环境变量提供的值。

  5. 共享 config 文件 services 节中的 endpoint_url 设置提供的特定于服务的端点值。

  6. 共享 config 文件的 profile 中的 endpoint_url 设置提供的值。

  7. use_dualstack_endpointuse_fips_endpointendpoint_url 设置。

  8. 最后使用相应URL Amazon Web Services 服务 端点的任何默认端点。有关每个区域可用的标准服务端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 区域和端点

ignore_configure_endpoint_urls

如果启用,则 Amazon CLI 会忽略config文件中指定的所有自定义终端节点配置。有效值为 truefalse

ignore_configure_endpoint_urls = true

端点配置设置位于多个位置,例如系统或用户环境变量、本地 Amazon 配置文件或在命令行中明确声明为参数。 Amazon CLI 端点配置设置的优先顺序如下:

  1. --endpoint-url 命令行选项。

  2. 如果启用,则 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 全局端点环境变量或配置文件设置 ignore_configure_endpoint_urls 将忽略自定义端点。

  3. 由特定于服务的环境变量 AWS_ENDPOINT_URL_<SERVICE> 提供的值,例如 AWS_ENDPOINT_URL_DYNAMODB

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 环境变量提供的值。

  5. 共享 config 文件 services 节中的 endpoint_url 设置提供的特定于服务的端点值。

  6. 共享 config 文件的 profile 中的 endpoint_url 设置提供的值。

  7. use_dualstack_endpointuse_fips_endpointendpoint_url 设置。

  8. 最后使用相应URL Amazon Web Services 服务 端点的任何默认端点。有关每个区域可用的标准服务端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 区域和端点

external_id

指定第三方用于在其客户账户中代入角色的唯一标识符。这将映射到 AssumeRole 操作中的 ExternalId 参数。仅当角色的信任策略为 ExternalId 指定值时,才需要此参数。有关更多信息,请参阅《IAM用户指南》中的如何在向第三方授予对 Amazon 资源的访问权限时使用外部 ID

max_attempts

指定重试处理程序使用的最大 Amazon CLI 重试次数值,其中初始调用计入您max_attempts提供的值。

您可以使用 AWS_MAX_ATTEMPTS 环境变量覆盖此值。

max_attempts = 3
mfa_serial

担任角色时要使用的MFA设备的标识号。只有当所担任角色的信任策略包含需要MFA身份验证的条件时,这才是强制性的。该值可以是硬件设备的序列号(例如GAHT12345678),也可以是虚拟MFA设备(例如ARN)的 Amazon 资源名称 (arn:aws:iam::123456789012:mfa/user)。

output

指定使用该配置文件请求的命令的默认输出格式。您可以指定以下任意值:

  • json— 输出格式化为字符JSON串。

  • yaml— 输出格式化为字符YAML串。

  • yaml-stream— 输出被流式传输并格式化为YAML字符串。串流支持更快地处理大型数据类型。

  • text – 输出采用多个制表符分隔字符串值行的格式。这对于将输出传递到文本处理器(如 grepsedawk)很有用。

  • table – 输出采用表格形式,使用字符 +|- 以形成单元格边框。它通常以“人性化”格式呈现信息,这种格式比其他格式更容易阅读,但从编程方面来讲不是那么有用。

可以被 AWS_DEFAULT_OUTPUT 环境变量或 --output 命令行选项覆盖。

output = table
parameter_validation

指定 Amazon CLI 客户端在将参数发送到 Amazon 服务端点之前是否尝试验证参数。

  • true – 这是默认值。如果指定,则 Amazon CLI 会对命令行参数执行本地验证。

  • false — 如果指定,则 Amazon CLI 不会在将命令行参数发送到 Amazon 服务端点之前对其进行验证。

该条目没有等效的环境变量或命令行选项。

parameter_validation = false
region

对于使用此配置文件请求的命令,指定要向其发送请求。 Amazon Web Services 区域

  • 您可以指定可用于所选服务的任何区域代码,有关区域代码的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 区域和端点

  • aws_global允许您为除区域终端节点之外还支持全局终端节点的服务指定全局终端节点,例如 Amazon Security Token Service (Amazon STS) 和亚马逊简单存储服务 (Amazon S3) Simple Service Amazon S3A。

您可以使用 AWS_REGION 环境变量AWS_DEFAULT_REGION 环境变量或 --region 命令行选项覆盖此值。

region = us-west-2
retry_mode

指定 Amazon CLI 使用哪种重试模式。有三种重试模式可用:旧模式(默认模式)、标准模式和自适应模式。有关重试的更多信息,请参阅Amazon CLI 在中重试 Amazon CLI

您可以使用 AWS_RETRY_MODE 环境变量覆盖此值。

retry_mode = standard
role_arn

指定要用于运行 Amazon CLI 命令的IAM角色的 Amazon 资源名称 (ARN)。此外,还必须指定以下参数之一以标识有权代入此角色的凭证:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

环境变量 AWS_ROLE_ARN 将覆盖此设置。

有关使用 Web 身份的更多信息,请参阅 通过 Web 身份代入角色

role_session_name

指定要附加到角色会话的名称。此值在 Amazon CLI 调用AssumeRole操作时提供给RoleSessionName参数,并成为代入角色用户ARN:的一部分 arn:aws:sts::123456789012:assumed-role/role_name/role_session_name。此参数为可选参数。如果未提供此值,则将自动生成会话名称。此名称显示在与此会话关联的条目的 Amazon CloudTrail 日志中。

role_session_name = maria_garcia_role

环境变量 AWS_ROLE_SESSION_NAME 将覆盖此设置。

有关使用 Web 身份的更多信息,请参阅 通过 Web 身份代入角色

services

指定要用于您的配置文件的服务配置。

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

有关更多信息,请参阅 节类型:services 中的 services 节。

环境变量 AWS_ROLE_SESSION_NAME 将覆盖此设置。

有关使用 Web 身份的更多信息,请参阅 通过 Web 身份代入角色

sdk_ua_app_id

一个 Amazon Web Services 账户 可以被多个客户应用程序用来拨打电话 Amazon Web Services 服务。应用程序 ID 标识哪个源应用程序使用进行了一组调用 Amazon Web Services 服务。 Amazon SDKs而且,服务不会使用或解释此值,除非将其显示在客户通信中。例如,此值可以包含在操作电子邮件中,以唯一标识您的哪些应用程序与通知相关联。

应用程序 ID 是一个字符串,最大长度为 50 个字符。允许使用字母、数字和以下特殊字符:! $ % & * + - . , ^ _ ` | ~默认情况下,不分配任何值。

sdk_ua_app_id = prod1

使用 AWS_SDK_UA_APP_ID 环境变量可以覆盖此设置。您不能将此值设置为命令行参数。

source_profile

指定包含长期凭证的命名配置文件, Amazon CLI 可使用这些凭证代入通过 role_arn 参数指定的角色。不能在同一配置文件中同时指定 source_profilecredential_source

source_profile = production-profile
sso_account_id

指定包含角色的 Amazon 账户 ID,该IAM角色具有您要向关联的 Ident IAM ity Center 用户授予的权限。

此设置没有环境变量或命令行选项。

sso_account_id = 123456789012
sso_region

指定包含 Amazon 访问门户主机的 Amazon 区域。这与默认参数分开,可以是与默认CLIregion参数不同的区域。

此设置没有环境变量或命令行选项。

sso_region = us_west-2
sso_registration_scopes

要为 sso-session 授权的范围的逗号分隔列表。作用域授权访问IAM身份中心持有者令牌授权的端点。有效范围是字符串,例如 sso:account:access。此设置不适用于遗留的不可刷新配置。

sso_registration_scopes = sso:account:access
sso_role_name

指定角色的友好名称,该IAM角色定义了用户在使用此配置文件时的权限。

此设置没有环境变量或命令行选项。

sso_role_name = ReadAccess
sso_start_url

指定URL指向组织 Amazon 访问门户的。 Amazon CLI 使用它与 I URL dent IAM ity Center 服务建立会话以对其用户进行身份验证。要找到您的 Amazon 访问门户URL,请使用以下方法之一:

  • 打开您的邀请电子邮件,将列出 Amazon 访问门户URL。

  • 打开 Amazon IAM Identity Center 控制台,网址为https://console.aws.amazon.com/singlesignon/。 Amazon 访问门户列URL在您的设置中。

此设置没有环境变量或命令行选项。

sso_start_url = https://my-sso-portal.awsapps.com/start
use_dualstack_endpoint

允许使用双堆栈端点发送 Amazon 请求。要了解有关双堆栈终端节点的更多信息,请参阅《亚马逊简单存储服务用户指南》中的 “使用 Amazon S3 双栈终端节点”。IPv4 IPv6双堆栈端点适用于某些区域。如果服务不存在双栈端点或 Amazon Web Services 区域,则请求将失败。默认情况下,将禁用该功能。

该设置与 use_accelerate_endpoint 设置互斥。

端点配置设置位于多个位置,例如系统或用户环境变量、本地 Amazon 配置文件或在命令行中明确声明为参数。 Amazon CLI 端点配置设置的优先顺序如下:

  1. --endpoint-url 命令行选项。

  2. 如果启用,则 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 全局端点环境变量或配置文件设置 ignore_configure_endpoint_urls 将忽略自定义端点。

  3. 由特定于服务的环境变量 AWS_ENDPOINT_URL_<SERVICE> 提供的值,例如 AWS_ENDPOINT_URL_DYNAMODB

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 环境变量提供的值。

  5. 共享 config 文件 services 节中的 endpoint_url 设置提供的特定于服务的端点值。

  6. 共享 config 文件的 profile 中的 endpoint_url 设置提供的值。

  7. use_dualstack_endpointuse_fips_endpointendpoint_url 设置。

  8. 最后使用相应URL Amazon Web Services 服务 端点的任何默认端点。有关每个区域可用的标准服务端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 区域和端点

use_fips_endpoint

有些 Amazon 服务提供的端点支持联邦信息处理标准 (FIPS) 140-2。 Amazon Web Services 区域当 Amazon 服务支持时FIPS,此设置会指定 Amazon CLI 应使用哪个FIPS端点。与标准 Amazon 端点不同,FIPS端点使用符合 FIPS 140-2 的TLS软件库。与美国政府有业务来往的企业可能需要使用这些端点。

如果启用了此设置,但您的服务中不存在FIPS终端节点 Amazon Web Services 区域,则 Amazon 命令可能会失败。在这种情况下,请使用 --endpoint-url 选项手动指定要在命令中使用的端点,或者使用特定于服务的端点

有关通过指定FIPS终端节点的更多信息 Amazon Web Services 区域,请参阅按服务划分的FIPS终端节点

端点配置设置位于多个位置,例如系统或用户环境变量、本地 Amazon 配置文件或在命令行中明确声明为参数。 Amazon CLI 端点配置设置的优先顺序如下:

  1. --endpoint-url 命令行选项。

  2. 如果启用,则 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 全局端点环境变量或配置文件设置 ignore_configure_endpoint_urls 将忽略自定义端点。

  3. 由特定于服务的环境变量 AWS_ENDPOINT_URL_<SERVICE> 提供的值,例如 AWS_ENDPOINT_URL_DYNAMODB

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 环境变量提供的值。

  5. 共享 config 文件 services 节中的 endpoint_url 设置提供的特定于服务的端点值。

  6. 共享 config 文件的 profile 中的 endpoint_url 设置提供的值。

  7. use_dualstack_endpointuse_fips_endpointendpoint_url 设置。

  8. 最后使用相应URL Amazon Web Services 服务 端点的任何默认端点。有关每个区域可用的标准服务端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 区域和端点

web_identity_token_file

指定包含身份提供商提供的 OAuth 2.0 访问令牌或 OpenID Connect ID 令牌的文件路径。 Amazon CLI 加载此文件的内容,并将其作为 WebIdentityToken 参数传递给 AssumeRoleWithWebIdentity 操作。

环境变量 AWS_WEB_IDENTITY_TOKEN_FILE 将覆盖此设置。

有关使用 Web 身份的更多信息,请参阅 通过 Web 身份代入角色

tcp_keepalive

指定 Amazon CLI 客户端是否使用TCP保持活动状态的数据包。

该条目没有等效的环境变量或命令行选项。

tcp_keepalive = false

S3 自定义命令设置

Amazon S3 支持多种用于配置如何 Amazon CLI 执行 Amazon S3 操作的设置。一些设置适用于 s3apis3 命名空间中的所有 S3 命令。其他命令专门用于 S3 的 “自定义” 命令,这些命令抽象了常见的操作,其作用不仅仅是 one-to-one映射到API操作。aws s3 传输命令 cpsyncmvrm 具有可用于控制 S3 传输的其他设置。

可以通过在 config 文件中指定 s3 嵌套设置来配置所有这些选项。每个设置在其自己的行上缩进。

注意

这些设置完全是可选的。即使不配置这些设置中的任何一个,您也应该能够成功使用 aws s3 传输命令。提供这些设置是为了让您能够调整性能或匹配运行这些 aws s3 命令的特定环境。

这些设置都在 config 文件中的顶层 s3 键下设置,如以下 development 配置文件示例所示。

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

以下设置适用于 s3s3api 命名空间中的任何 S3 命令。

addressing_style

指定要使用的寻址样式。这可以控制存储桶名称是在主机名中还是属于主机名的一部分URL。有效值包括 pathvirtualauto。默认值为 auto

构造 Amazon S3 终端节点的样式有两种。第一种称为 virtual,它将存储桶名称包含为主机名的一部分。例如:https://bucketname.s3.amazonaws.com。或者,对于path样式,您可以将存储桶名称当作路径对待URI;例如,https://s3.amazonaws.com/bucketname。中的默认值CLI是 to useauto,它会尝试尽可能使用该virtual样式,但在需要时会回退到path样式。例如,如果您的存储桶名称不DNS兼容,则存储桶名称不能是主机名的一部分,必须位于路径中。使用后auto,CLI将检测到这种情况并自动为您切换到path样式。如果您将寻址方式设置为path,则必须确保您在中配置的 Amazon 区域与存储桶的区域 Amazon CLI 相匹配。

payload_signing_enabled

指定是否对 sigv4 SHA256 负载进行签名。默认情况下,在使用时,流式上传(UploadPartPutObject)处于禁用HTTPS状态。默认情况下,false对于流式上传(UploadPartPutObject),该值设置为,但前提ContentMD5是存在(默认情况下会生成)并且终端节点使用HTTPS。

如果设置为 true,S3 请求将以校验和的形式收到额外的内容验证,SHA256校验和将为您计算并包含在请求签名中。如果设置为 false,则不计算校验和。禁用该设置可减少校验和计算产生的性能开销。

use_accelerate_endpoint

为所有 s3s3api 命令使用 Amazon S3 加速终端节点。默认值为 False。该设置与 use_dualstack_endpoint 设置互斥。

如果设置为 true,则 Amazon CLI 会将所有 Amazon S3 请求定向到的S3 Accelerate终端节点s3-accelerate.amazonaws.com。要使用该终端节点,您必须让您的存储桶使用 S3 Accelerate。使用存储桶寻址的虚拟样式发送所有请求:my-bucket.s3-accelerate.amazonaws.com。不会将任何 ListBucketsCreateBucketDeleteBucket 请求发送到 S3 加速终端节点,因为该终端节点不支持这些操作。如果将任何 --endpoint-urlhttps://s3-accelerate.amazonaws.com 命令的 http://s3-accelerate.amazonaws.com 参数设置为 s3s3api,也可以设置该行为。

以下设置仅适用于 s3 命名空间命令集中的命令。

max_bandwidth

指定向 Amazon S3 上传数据和从其下载数据可使用的最大带宽。默认为无限制。

这限制了 S3 命令可用于向 Amazon S3 传输数据和从 Amazon S3 传输数据的最大带宽。该值仅适用于上传和下载;它不适用于复制或删除。值以每秒字节数表示。该值可以指定为:

  • 一个整数。例如,1048576 将最大带宽使用率设置为每秒 1 兆字节。

  • 一个整数,后跟速率后缀。可以使用以下格式指定速率后缀:KB/sMB/sGB/s。例如,300KB/s10MB/s

通常,我们建议您先尝试通过降低 max_concurrent_requests 来降低带宽使用率。如果这样做没有充分地将带宽使用率限制到所需速率,您可以使用 max_bandwidth 设置进一步限制带宽使用率。这是因为 max_concurrent_requests 控制当前运行的线程数。如果您先降低 max_bandwidth 但保持较高的 max_concurrent_requests 设置,则可能导致线程不得不进行不必要的等待。这可能造成过多的资源消耗和连接超时。

max_concurrent_requests

指定最大并发请求数。默认值是 10。

aws s3 传输命令是多线程的。在任意给定时间,都可以运行多个 Amazon S3 请求。例如,当您使用命令将文件上传aws s3 cp localdir s3://bucket/ --recursive到 S3 存储桶时, Amazon CLI 可以并行上传文件localdir/file1localdir/file2、和localdir/file3。设置 max_concurrent_requests 指定可同时运行的最大传输操作数。

您可能由于以下原因而需要更改该值:

  • 减小该值 – 在某些环境中,默认的 10 个并发请求可能会占用过多的系统资源。这可能导致连接超时或系统响应速度变慢。减小该值可减少 S3 传输命令消耗的资源。但不利后果是 S3 传输可能需要更长时间才能完成。如果使用了限制带宽的工具,则可能需要减小该值。

  • 增大该值 – 在某些情况下,您可能希望 Amazon S3 传输根据需要使用尽可能多的网络带宽,以尽可能快地完成任务。在这种情况下,默认的并发请求数可能不足以使用所有可用的网络带宽。增大该值可缩短完成 Amazon S3 传输所需的时间。

max_queue_size

指定任务队列中的最大任务数。默认值是 1000。

Amazon CLI 内部使用一种模型,它将 Amazon S3 任务排队,然后由数量受限的使用者执行max_concurrent_requests。任务通常映射到单个 Amazon S3 操作。例如,任务可以是 PutObjectTaskGetObjectTaskUploadPartTask。任务添加到队列的速度可能比使用者完成任务的速度快得多。为避免无限制增长,任务队列大小设置了特定大小的上限。该设置用于更改该最大数量的值。

您通常不需要更改该设置。此设置还与他们知道需要运行的任务数量相对应。 Amazon CLI 这意味着默认情况下,他们 Amazon CLI 只能看到前面的 1000 个任务。假设排队速度快于任务完成率,则增加此值意味着 Amazon CLI 可以更快地知道所需的任务总数。但不利后果是更大的 max_queue_size 需要更多的内存。

multipart_chunksize

指定用于单个文件的分段传输的区块大小。 Amazon CLI 默认值为 8 MB,最少为 5 MB。

当文件传输超出 multipart_threshold 时, Amazon CLI 将文件分成该大小的块。可以使用与 multipart_threshold 相同的语法指定该值,即整数形式的字节数,或使用大小和后缀。

multipart_threshold

指定用于单个文件分段传输的大小阈值。 Amazon CLI 默认值为 8 MB。

上传、下载或复制文件时,如果文件超出该大小,Amazon S3 命令将切换到分段操作。您可以通过以下两种方式之一指定该值:

  • 文件大小(以字节为单位)。例如,1048576

  • 文件大小及大小后缀。您可以使用 KBMBGBTB。例如,10MB1GB

    注意

    S3 可能会对可用于分段操作的有效值施加约束。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的 S3 分段上传文档