Skip to content

Latest commit

 

History

History
134 lines (98 loc) · 5.08 KB

File metadata and controls

134 lines (98 loc) · 5.08 KB

← 访问凭据 | Endpoint 配置(English) | Transport →


EndPoint 配置

默认

不指定 Endpoint 时,走 自动化 Endpoint 寻址

自定义 Endpoint

用户可以通过在初始化客户端时指定 Endpoint:

import com.volcengine.ApiClient;
import com.volcengine.sign.Credentials;

public class SampleCode {
    public static void main(String[] args) {
        String region = "cn-beijing";
        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getEnvCredentials())
                .setRegion(region)
                .setEndpoint("<example>.<regionId>.volcengineapi.com");
    }
}

自定义 RegionId

import com.volcengine.ApiClient;
import com.volcengine.sign.Credentials;

public class SampleCode {
    public static void main(String[] args) {
        String regionId = "cn-beijing";
        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getEnvCredentials())
                .setRegion(regionId);
    }
}

自动化 Endpoint 寻址

默认

默认支持自动寻址,无需手动指定 Endpoint。

为了简化用户配置,Volcengine 提供了灵活的 Endpoint 自动寻址机制。用户无需手动指定服务地址,SDK 会根据服务名称、区域(Region)等信息自动拼接出合理的访问地址,并支持用户自定义 DualStack(双栈)。

Endpoint 默认寻址

寻址逻辑
  1. 是否自动寻址 Region

    内置自动寻址 Region 列表代码:./volcengine-java-sdk-core/src/main/java/com/volcengine/endpoint/DefaultEndpointProvider.java#BOOTSTRAP_REGION

    SDK 仅对部分预设区域(如 cn-beijing-autodrivingap-southeast-2)或用户配置的区域执行自动寻址;其他区域默认返回 Endpoint:open.volcengineapi.com

    用户可通过环境变量 VOLC_BOOTSTRAP_REGION_LIST_CONF 或代码中自定义 customBootstrapRegion 来扩展控制区域列表。

  2. DualStack 支持(IPv6)

    SDK 支持双栈网络(IPv4 + IPv6)访问地址,自动启用条件如下:显式传入参数 setUseDualStack(true),或设置环境变量 VOLC_ENABLE_DUALSTACK=true。优先级:useDualStack > VOLC_ENABLE_DUALSTACK

    启用后,域名后缀将从 volcengineapi.com 切换为 volcengine-api.com

  3. 根据服务名和区域自动构造 Endpoint 地址

    • 全局服务(如 CDNIAM:使用 <服务名>.volcengineapi.com(或启用双栈时使用 volcengine-api.com)。示例:cdn.volcengineapi.com
    • 区域服务(如 ECSRDS:使用 <服务名>.<区域名>.volcengineapi.com 作为默认 Endpoint。示例:ecs.cn-beijing.volcengineapi.com
代码示例
import com.volcengine.ApiClient;
import com.volcengine.sign.Credentials;
import java.util.HashSet;

public class SampleCode {
    public static void main(String[] args) {
        String regionId = "cn-beijing";
        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getEnvCredentials())
                .setRegion(regionId)
                .setUseDualStack(true) // 定义是否启用双栈网络(IPv4 + IPv6)访问地址,默认false;也可以使用环境变量VOLC_ENABLE_DUALSTACK=true
                .setCustomBootstrapRegion(new HashSet<String>() {{
                    add("custom_example_region1");
                    add("custom_example_region2");
                }}); // 自定义自动寻址Region列表;也可以使用环境变量VOLC_BOOTSTRAP_REGION_LIST_CONF
    }
}

Endpoint 标准寻址

标准寻址规则
Global 服务 双栈 格式
{Service}.volcengine-api.com
{Service}.volcengineapi.com
{Service}.{region}.volcengine-api.com
{Service}.{region}.volcengineapi.com

是否 Global 服务由具体调用的服务决定,不可修改。可以参考列表:./volcengine-java-sdk-core/src/main/java/com/volcengine/endpoint/StandardEndpointProvider.java#SERVICE_INFOS

代码示例
import com.volcengine.ApiClient;
import com.volcengine.sign.Credentials;
import java.util.HashSet;
import com.volcengine.endpoint.StandardEndpointProvider;

public class SampleCode {
    public static void main(String[] args) {
        String regionId = "cn-beijing";
        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getEnvCredentials())
                .setEndpointResolver(new StandardEndpointProvider()) // 设置标准寻址
                .setRegion(regionId) // 设置region
                .setUseDualStack(true); // 设置是否双栈
    }
}

← 访问凭据 | Endpoint 配置(English) | Transport →