选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

AWS SDKs 和工具设置参考 - AWS SDKs 和工具

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

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

AWS SDKs 和工具设置参考

SDKs 提供特定于语言的内容 APIs 。 AWS 服务它们负责成功进行 API 调用所需的一些繁重工作,包括身份验证、重试行为等。为此, SDKs 他们需要制定灵活的策略来获取用于您的请求的凭证,维护用于每项服务的设置,以及获取用于全局设置的值。

您可以在以下各节中找到有关配置设置的详细信息:

创建服务客户端

要以编程方式访问 AWS 服务, SDKs 请为每个使用客户端类/对象。 AWS 服务例如,如果您的应用程序需要访问亚马逊 EC2,则您的应用程序会创建一个 Amazon EC2 客户端对象来与该服务接口。然后,您可以使用服务客户端向该 AWS 服务发出请求。在大多数情况下 SDKs,服务客户端对象是不可变的,因此您必须为向其发出请求的每个服务创建一个新的客户端,并使用不同的配置向同一服务发出请求。

设置的优先级

全局设置配置了大多数 SDKs 人支持并具有广泛 AWS 服务影响的功能、凭证提供程序和其他功能。所有地方 SDKs 都有一系列地点(或来源),他们会检查这些地点(或来源),以便找到全局设置的值。以下是设置查找优先级的方法:

  1. 在代码中或服务客户端本身上设置的任何显式设置均优先于其他任何设置。

    • 有些设置可以根据每个操作进行设置,也可以根据需要针对调用的每个操作进行更改。对于 AWS CLI 或 AWS Tools for PowerShell,它们采用您在命令行上输入的每个操作参数的形式。对于 SDK,显式分配可以采用您在实例化 AWS 服务 客户端或配置对象时或有时在调用单个 API 时设置的参数的形式。

  2. 仅限 Java/Kotlin:已选中该设置的 JVM 系统属性。如果已设置该变量,将使用对应值配置客户端。

  3. 系统会检查环境变量。如果已设置该变量,将使用对应值配置客户端。

  4. SDK 会检查共享credentials文件中的设置。如果已设置,则客户端将使用它。

  5. 设置的共享config文件。如果存在该设置,则 SDK 将使用该设置。

    • AWS_PROFILE环境变量或 aws.profile JVM 系统属性可用于指定 SDK 加载哪个配置文件。

  6. 最后使用 SDK 源代码本身提供的任何默认值。

注意

有些 SDKs 工具可能会按不同的顺序进行检查。此外,有些 SDKs 和工具还支持其他存储和检索参数的方法。例如, 适用于 .NET 的 AWS SDK 支持名为 SDK Stor e 的其他来源。有关 SDK 或工具独有的提供者的更多信息,请参阅您正在使用的 SDK 或工具的特定指南。

顺序决定哪些方法优先使用并覆盖其他方法。例如,如果您在共享config文件中设置了配置文件,则只有在 SDK 或工具先检查其他位置之后,才能找到并使用该配置文件。这意味着,如果您在credentials文件中添加了设置,则会使用该设置而不是config文件中的设置。如果您使用设置和值配置环境变量,它将覆盖credentialsconfig文件中的该设置。最后,单个操作(AWS CLI 命令行参数或 API 参数)或代码中的设置将覆盖该命令的所有其他值。

了解本指南的设置页面

本指南的 “设置” 参考部分中的页面详细介绍了可以通过各种机制进行设置的可用设置。下表列出了配置和凭证文件设置、环境变量以及(对于 Java 和 Kotlin SDKs)可以在代码之外用于配置该功能的 JVM 设置。每个列表中的每个链接主题都会将您带到相应的设置页面。

每个凭证提供商或功能都有一个页面,其中列出了用于配置该功能的设置。对于每种设置,您通常可以通过将设置添加到配置文件或通过设置环境变量来设置值,或者(仅适用于 Java 和 Kotlin)通过设置 JVM 系统属性来设置值。每个设置都列出了所有支持的在描述详细信息上方的方块中设置该值的方法。尽管优先级各不相同,但无论如何设置,生成的功能都是一样的。

描述中将包括默认值(如果有),如果您什么都不做,该值就会生效。它还定义了该设置的有效值。

例如,让我们来看看请求压缩功能页面中的一个设置。

disable_request_compression示例设置的信息记录了以下内容:

  • 有三种等效的方法可以控制代码库之外的请求压缩。您可以:

    • 使用在您的配置文件中进行设置 disable_request_compression

    • 使用将其设置为环境变量 AWS_DISABLE_REQUEST_COMPRESSION

    • 或者,如果你使用的是 Java 或 Kotlin SDK,请使用将其设置为 JVM 系统属性 aws.disableRequestCompression

    注意

    可能还有一种方法可以直接在代码中配置相同的功能,但本参考文献不涵盖这一点,因为它是每个 SDK 所独有的。如果您想在代码本身中设置配置,请参阅您的特定 SDK 指南或 API 参考。

  • 如果您什么都不做,则该值将默认为false

  • 此布尔值设置的唯一有效值是truefalse

每个功能页面的底部都有一个 Support b y AWS SDKs 和 tools 表。

此表显示您的 SDK 是否支持页面上列出的设置。该Supported列使用以下值表示支撑位:

  • Yes— 所写的 SDK 完全支持这些设置。

  • Partial— 支持某些设置或行为与描述有所不同。对于Partial,附加注释表示偏差。

  • No— 不支持任何设置。这并不能说明代码中是否可以实现相同的功能;它仅表示不支持列出的外部配置设置。

Config文件设置列表

下表中列出的设置可以在共享 AWS config文件中分配。它们是全球性的,影响到所有人 AWS 服务。 SDKs 而且工具还可能支持独特的设置和环境变量。要查看仅单个 SDK 或工具支持的设置和环境变量,请参阅特定的 SDK 或工具指南。

设置名称 详细信息
account_id_endpoint_mode 基于账户的终端节点
api_versions 常规配置设置
aws_access_key_id AWS 访问密钥
aws_account_id 基于账户的终端节点
aws_secret_access_key AWS 访问密钥
aws_session_token AWS 访问密钥
ca_bundle 常规配置设置
credential_process 进程凭证提供者
credential_source 代入角色凭证提供者
defaults_mode 智能配置默认值
disable_request_compression 请求压缩
duration_seconds 代入角色凭证提供者
ec2_metadata_service_endpoint IMDS 凭证提供者
ec2_metadata_service_endpoint_mode IMDS 凭证提供者
ec2_metadata_v1_disabled IMDS 凭证提供者
endpoint_discovery_enabled 端点发现
endpoint_url 特定于服务的端点
external_id 代入角色凭证提供者
ignore_configured_endpoint_urls 特定于服务的端点
max_attempts 重试行为
metadata_service_num_attempts Amazon EC2 实例元数据
metadata_service_timeout Amazon EC2 实例元数据
mfa_serial 代入角色凭证提供者
output 常规配置设置
parameter_validation 常规配置设置
region AWS 区域
request_checksum_calculation Amazon S3 的数据完整性保护
request_min_compression_size_bytes 请求压缩
response_checksum_validation Amazon S3 的数据完整性保护
retry_mode 重试行为
role_arn 代入角色凭证提供者
role_session_name 代入角色凭证提供者
s3_disable_multiregion_access_points Amazon S3 多区域访问点
s3_use_arn_region Amazon S3 接入点
sdk_ua_app_id 应用程序 ID
source_profile 代入角色凭证提供者
sso_account_id IAM Identity Center 凭证提供者
sso_region IAM Identity Center 凭证提供者
sso_registration_scopes IAM Identity Center 凭证提供者
sso_role_name IAM Identity Center 凭证提供者
sso_start_url IAM Identity Center 凭证提供者
sts_regional_endpoints AWS STS 区域端点
use_dualstack_endpoint 双堆栈和 FIPS 端点
use_fips_endpoint 双堆栈和 FIPS 端点
web_identity_token_file 代入角色凭证提供者

Credentials文件设置列表

下表中列出的设置可以在共享 AWS credentials文件中分配。它们是全球性的,影响到所有人 AWS 服务。 SDKs 而且工具还可能支持独特的设置和环境变量。要查看仅单个 SDK 或工具支持的设置和环境变量,请参阅特定的 SDK 或工具指南。

设置名称 详细信息
aws_access_key_id AWS 访问密钥
aws_secret_access_key AWS 访问密钥
aws_session_token AWS 访问密钥

环境变量列表

下表列出了 SDKs 大多数支持的环境变量。它们是全球性的,影响到所有人 AWS 服务。 SDKs 而且工具还可能支持独特的设置和环境变量。要查看仅单个 SDK 或工具支持的设置和环境变量,请参阅特定的 SDK 或工具指南。

设置名称 详细信息
AWS_ACCESS_KEY_ID AWS 访问密钥
AWS_ACCOUNT_ID 基于账户的终端节点
AWS_ACCOUNT_ID_ENDPOINT_MODE 基于账户的终端节点
AWS_CA_BUNDLE 常规配置设置
AWS_CONFIG_FILE 共享文件 config 和 credentials 的位置
AWS_CONTAINER_AUTHORIZATION_TOKEN 容器凭证提供者
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 容器凭证提供者
AWS_CONTAINER_CREDENTIALS_FULL_URI 容器凭证提供者
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 容器凭证提供者
AWS_DEFAULTS_MODE 智能配置默认值
AWS_DISABLE_REQUEST_COMPRESSION 请求压缩
AWS_EC2_METADATA_DISABLED IMDS 凭证提供者
AWS_EC2_METADATA_SERVICE_ENDPOINT IMDS 凭证提供者
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE IMDS 凭证提供者
AWS_EC2_METADATA_V1_DISABLED IMDS 凭证提供者
AWS_ENABLE_ENDPOINT_DISCOVERY 端点发现
AWS_ENDPOINT_URL 特定于服务的端点
AWS_ENDPOINT_URL_<SERVICE> 特定于服务的端点
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 特定于服务的端点
AWS_MAX_ATTEMPTS 重试行为
AWS_METADATA_SERVICE_NUM_ATTEMPTS Amazon EC2 实例元数据
AWS_METADATA_SERVICE_TIMEOUT Amazon EC2 实例元数据
AWS_PROFILE 共享config和credentials文件
AWS_REGION AWS 区域
AWS_REQUEST_CHECKSUM_CALCULATION Amazon S3 的数据完整性保护
AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES 请求压缩
AWS_RESPONSE_CHECKSUM_VALIDATION Amazon S3 的数据完整性保护
AWS_RETRY_MODE 重试行为
AWS_ROLE_ARN 代入角色凭证提供者
AWS_ROLE_SESSION_NAME 代入角色凭证提供者
AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS Amazon S3 多区域访问点
AWS_S3_USE_ARN_REGION Amazon S3 接入点
AWS_SDK_UA_APP_ID 应用程序 ID
AWS_SECRET_ACCESS_KEY AWS 访问密钥
AWS_SESSION_TOKEN AWS 访问密钥
AWS_SHARED_CREDENTIALS_FILE 共享文件 config 和 credentials 的位置
AWS_STS_REGIONAL_ENDPOINTS AWS STS 区域端点
AWS_USE_DUALSTACK_ENDPOINT 双堆栈和 FIPS 端点
AWS_USE_FIPS_ENDPOINT 双堆栈和 FIPS 端点
AWS_WEB_IDENTITY_TOKEN_FILE 代入角色凭证提供者

JVM 系统属性列表

您可以将以下 JVM 系统属性用于 适用于 Java 的 AWS SDK 和 AWS SDK for Kotlin (以 JVM 为目标)。有关如何设置 JVM 系统属性的说明,请参阅如何设置 JVM 系统属性

设置名称 详细信息
aws.accessKeyId AWS 访问密钥
aws.accountId 基于账户的终端节点
aws.accountIdEndpointMode 基于账户的终端节点
aws.configFile 共享文件 config 和 credentials 的位置
aws.defaultsMode 智能配置默认值
aws.disableEc2MetadataV1 IMDS 凭证提供者
aws.disableRequestCompression 请求压缩
aws.ec2MetadataServiceEndpoint IMDS 凭证提供者
aws.ec2MetadataServiceEndpointMode IMDS 凭证提供者
aws.endpointDiscoveryEnabled 端点发现
aws.endpointUrl 特定于服务的端点
aws.endpointUrl<ServiceName> 特定于服务的端点
aws.ignoreConfiguredEndpointUrls 特定于服务的端点
aws.maxAttempts 重试行为
aws.profile 共享config和credentials文件
aws.region AWS 区域
aws.requestChecksumCalculation Amazon S3 的数据完整性保护
aws.requestMinCompressionSizeBytes 请求压缩
aws.responseChecksumValidation Amazon S3 的数据完整性保护
aws.retryMode 重试行为
aws.roleArn 代入角色凭证提供者
aws.roleSessionName 代入角色凭证提供者
aws.s3DisableMultiRegionAccessPoints Amazon S3 多区域访问点
aws.s3UseArnRegion Amazon S3 接入点
aws.secretAccessKey AWS 访问密钥
aws.sessionToken AWS 访问密钥
aws.sharedCredentialsFile 共享文件 config 和 credentials 的位置
aws.useDualstackEndpoint 双堆栈和 FIPS 端点
aws.useFipsEndpoint 双堆栈和 FIPS 端点
aws.userAgentAppId 应用程序 ID
aws.webIdentityTokenFile 代入角色凭证提供者
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。