Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Endpoint discovery - AWS SDKs and Tools

Endpoint discovery

Note

For help in understanding the layout of settings pages, or in interpreting the Support by AWS SDKs and tools table that follows, see Understanding the settings pages of this guide.

SDKs use endpoint discovery to access service endpoints (URLs to access various resources), while still maintaining flexibility for AWS to alter URLs as needed. This way, your code can automatically detect new endpoints. There are no fixed endpoints for some services. Instead, you get the available endpoints during runtime by making a request to get the endpoints first. After retrieving the available endpoints, the code then uses the endpoint to access other operations. For example, for Amazon Timestream, the SDK makes a DescribeEndpoints request to retrieve the available endpoints, and then uses those endpoints to complete specific operations such as CreateDatabase or CreateTable.

Configure this functionality by using the following:

endpoint_discovery_enabled - shared AWS config file setting
AWS_ENABLE_ENDPOINT_DISCOVERY - environment variable
aws.endpointDiscoveryEnabled - JVM system property: Java/Kotlin only
To configure value directly in code, consult your specific SDK directly.

Turns on or off endpoint discovery for DynamoDB.

Endpoint discovery is required in Timestream and optional in Amazon DynamoDB. This setting defaults to either true or false depending on whether the service requires endpoint discovery. Timestream requests default to true, and Amazon DynamoDB requests default to false.

Valid values:

  • true – The SDK should automatically attempt to discover an endpoint for services where endpoint discovery is optional.

  • false – The SDK should not automatically attempt to discover an endpoint for services where endpoint discovery is optional.

Support by AWS SDKs and tools

The following SDKs support the features and settings described in this topic. Any partial exceptions are noted. Any JVM system property settings are supported by the AWS SDK for Java and the AWS SDK for Kotlin only.

SDK Supported Notes or more information
AWS CLI v2 Yes
SDK for C++ Yes
SDK for Go V2 (1.x) Yes
SDK for Go 1.x (V1) Yes To use shared config file settings, you must turn on loading from the config file; see Sessions.
SDK for Java 2.x Yes The SDK for Java 2.x uses AWS_ENDPOINT_DISCOVERY_ENABLED for the environment variable name.
SDK for Java 1.x Partial JVM system property not supported.
SDK for JavaScript 3.x Yes
SDK for JavaScript 2.x Yes
SDK for Kotlin Yes
SDK for .NET 3.x Yes
SDK for PHP 3.x Yes
SDK for Python (Boto3) Yes
SDK for Ruby 3.x Yes
SDK for Rust Partial Supported for Timestream only.
SDK for Swift No
Tools for PowerShell Yes
PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.