本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
端点发现
SDK 使用端点发现来访问服务端点(用于访问各种资源的 URL),同时仍然可以灵活地根据 Amazon 需要更改 URL。这样,您的代码就可以自动检测新的端点。某些服务没有固定的端点。相反,您可以在运行时通过请求先获取端点来获得可用的端点。检索到可用端点后,代码会使用该端点访问其他操作。例如,对于 Amazon Timestream,SDK 会发出DescribeEndpoints
请求以检索可用的端点,然后使用这些端点完成特定操作,例如CreateDatabase
或CreateTable
。
在某些服务中,端点发现是必需的,而在另一些服务中则是可选的。默认为true
还是false
,具体取决于服务是否需要端点发现。例如,Timestream 默认为true
,Amazon DynamoDB 默认为false
。对于不需要端点发现的服务,则不启用端点发现。相反,配置选项可通过环境变量、共享 Amazon config
文件或 SDK 代码结构(例如,配置类)获得。对于需要端点发现的操作,SDK 会自动尝试发现端点。
使用以下方法配置此功能:
endpoint_discovery_enabled
-共享 Amazonconfig
文件设置AWS_ENABLE_ENDPOINT_DISCOVERY
- 环境变量aws.endpointDiscoveryEnabled
-JVM 系统属性:仅限 Java/Kotlin- 要直接在代码中配置值,请直接查阅您的特定 SDK。
-
为端点发现是可选的服务启用/禁用端点发现。在某些服务中,端点发现是必需的。
默认值:
false
有效值:
-
true
– 对于端点发现是可选的服务,SDK 应自动尝试发现端点。 -
false
– 对于端点发现是可选的服务,SDK 不应自动尝试发现端点。
-
与 Amazon SDK 的兼容性
以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 Amazon SDK for Java 和 Amazon SDK for Kotlin 唯一支持任何 JVM 系统属性设置。
SDK | 支持 | 备注或更多信息 |
---|---|---|
Amazon CLI v2 | 支持 | |
适用于 C++ 的 SDK | 支持 | |
适用于 Go V2 (1.x) 的 SDK |
支持 | |
适用于 Go 1.x(V1)的 SDK | 支持 | 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话。 |
适用于 Java 2.x 的 SDK | 支持 | 适用于 Java 的 SDK 2.x AWS_ENDPOINT_DISCOVERY_ENABLED 用作环境变量名称。 |
适用于 Java 1.x 的 SDK | 支持 | |
适用于 JavaScript 3.x 的软件开发工具包 | 支持 | |
适用于 JavaScript 2.x 的 SDK | 支持 | |
适用于 Kotlin 的 SDK | 支持 | |
适用于 .NET 3.x 的 SDK | 支持 | |
适用于 PHP 3.x 的 SDK | 支持 | |
适用于 Python (Boto3) 的 SDK |
支持 | |
适用于 Ruby 3.x 的 SDK | 支持 | |
适用于 Rust 的 SDK | 部分 | 仅支持 Timestream。 |
用于 PowerShell | 支持 |