设置参考 - Amazon 软件开发工具包和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

设置参考

软件开发工具包为提供特定语言的 API。 Amazon Web Services它们负责成功进行 API 调用所需的一些繁重工作,包括身份验证、重试行为等。为此,SDK 采用了灵活的策略来获取用于您的请求的凭证、维护每项服务使用的设置以及获取用于全局设置的值。

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

创建服务客户端

为了以编程方式进行访问 Amazon Web Services,SDK 使用每个客户端类/对象。 Amazon Web Service例如,如果您的应用程序需要访问 Amazon EC2,则您的应用程序会创建一个 Amazon EC2 客户端对象来与该服务交互。然后,您可以使用服务客户端向该 Amazon Web Service发出请求。在大多数 SDK 中,服务客户端对象是不可变的,因此您必须为向其发出请求的每个服务创建一个新客户端,并使用不同的配置向同一服务发出请求。

设置的优先级

全局设置配置了大多数 SDK 支持并在整个 Amazon Web Services中具有广泛影响的功能、凭证提供者和其他功能。所有 SDK 都有一系列地点(或来源),它们会检查这些地点(或来源),以便找到全局设置的值。以下是设置查找优先级的方法:

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

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

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

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

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

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

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

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

注意

某些 SDK 和工具的检查顺序可能有所不同。此外,某些 SDK 和工具还支持其他存储和检索参数的方法。例如, Amazon SDK for .NET 支持名为 SDK 商店的其他来源。有关 SDK 或工具独有的提供者的更多信息,请参阅您正在使用的 SDK 或工具的特定指南。

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

Config文件设置列表

可以在共享 Amazon config文件中分配下表中列出的设置。它们是全局性的,影响到所有 Amazon Web Services。

设置名称 详细信息
api_versions 常规配置设置
aws_access_key_id Amazon 访问密钥
aws_secret_access_key Amazon 访问密钥
aws_session_token Amazon 访问密钥
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 Amazon Web Services 区域
request_min_compression_size_bytes 请求压缩
retry_mode 重试行为
role_arn 代入角色凭证提供者
role_session_name 代入角色凭证提供者
s3_disable_multiregion_access_points Amazon S3 多区域访问点
s3_use_arn_region Amazon S3 接入点
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 Amazon STS 区域化终端节点
use_dualstack_endpoint 双堆栈和 FIPS 端点
use_fips_endpoint 双堆栈和 FIPS 端点
web_identity_token_file 代入角色凭证提供者

Credentials文件设置列表

可以在共享 Amazon credentials文件中分配下表中列出的设置。它们是全局性的,影响到所有 Amazon Web Services。

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

环境变量列表

下表列出了大多数 SDK 都支持的环境变量。它们是全局性的,影响到所有 Amazon Web Services。

设置名称 详细信息
AWS_ACCESS_KEY_ID Amazon 访问密钥
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_IAM_ROLE_ARN 代入角色凭证提供者
AWS_IAM_ROLE_SESSION_NAME 代入角色凭证提供者
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 Amazon Web Services 区域
AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES 请求压缩
AWS_RETRY_MODE 重试行为
AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS Amazon S3 多区域访问点
AWS_S3_USE_ARN_REGION Amazon S3 接入点
AWS_SECRET_ACCESS_KEY Amazon 访问密钥
AWS_SESSION_TOKEN Amazon 访问密钥
AWS_SHARED_CREDENTIALS_FILE 共享文件 config 和 credentials 的位置
AWS_STS_REGIONAL_ENDPOINTS Amazon STS 区域化终端节点
AWS_USE_DUALSTACK_ENDPOINT 双堆栈和 FIPS 端点
AWS_USE_FIPS_ENDPOINT 双堆栈和 FIPS 端点
AWS_WEB_IDENTITY_TOKEN_FILE 代入角色凭证提供者

JVM 系统属性列表

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

设置名称 详细信息
aws.accessKeyId Amazon 访问密钥
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 Amazon Web Services 区域
aws.requestMinCompressionSizeBytes 请求压缩
aws.retryMode 重试行为
aws.roleArn 代入角色凭证提供者
aws.roleSessionName 代入角色凭证提供者
aws.s3DisableMultiRegionAccessPoints Amazon S3 多区域访问点
aws.s3UseArnRegion Amazon S3 接入点
aws.secretAccessKey Amazon 访问密钥
aws.sessionToken Amazon 访问密钥
aws.sharedCredentialsFile 共享文件 config 和 credentials 的位置
aws.useDualstackEndpoint 双堆栈和 FIPS 端点
aws.useFipsEndpoint 双堆栈和 FIPS 端点
aws.webIdentityTokenFile 代入角色凭证提供者