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

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

端点发现

SDK 使用端点发现来访问服务端点(用于访问各种资源的 URL),同时仍然可以灵活地根据 Amazon 需要更改 URL。这样,您的代码就可以自动检测新的端点。某些服务没有固定的端点。相反,您可以在运行时通过请求先获取端点来获得可用的端点。检索到可用端点后,代码会使用该端点访问其他操作。例如,对于 Amazon Timestream,SDK 会发出DescribeEndpoints请求以检索可用的端点,然后使用这些端点完成特定操作,例如CreateDatabaseCreateTable

在某些服务中,端点发现是必需的,而在另一些服务中则是可选的。默认为true还是false,具体取决于服务是否需要端点发现。例如,Timestream 默认为true,Amazon DynamoDB 默认为false。对于不需要端点发现的服务,则不启用端点发现。相反,配置选项可通过环境变量、共享 Amazon config文件或 SDK 代码结构(例如,配置类)获得。对于需要端点发现的操作,SDK 会自动尝试发现端点。

使用以下方法配置此功能:

endpoint_discovery_enabled-共享 Amazon config文件设置
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 支持