>
java
public class ClientFactory {
private static volatile com.aliyun.ecs20140526.Client instance;
public static com.aliyun.ecs20140526.Client getInstance() throws Exception {
if (instance == null) {
synchronized (ClientFactory.class) {
if (instance == null) {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(System.getenv(ALIBABACLOUDACCESSKEYID))
.setAccessKeySecret(System.getenv(ALIBABACLOUDACCESSKEYSECRET));
config.setEndpoint(ecs.cn-hangzhou.aliyuncs.com);
instance = new com.aliyun.ecs20140526.Client(config);
}
}
}
return instance;
}
}
优先级:显式 endpoint > 通过 regionId 进行区域解析。
java
// 推荐:显式端点
config.setEndpoint(ecs.cn-hangzhou.aliyuncs.com);
// 备选:SDK 从区域解析端点
config.setRegionId(cn-hangzhou);
在阿里云 VPC 内部运行时(混合云、专线、多区域),使用 VPC 端点:
java
config.setEndpoint(ecs-vpc.cn-hangzhou.aliyuncs.com);
对于文件上传 API(例如视觉智能),将 regionId 和 endpoint 设置为同一区域。否则可能因跨区域 OSS 访问而出现超时:
java
config.setRegionId(cn-shanghai);
config.setEndpoint(objectdet.cn-shanghai.aliyuncs.com);
// 对于 VPC 文件上传授权:
client._openPlatformEndpoint = openplatform-vpc.cn-shanghai.aliyuncs.com;
| 模式 | SDK 制品 | 使用场景 |
|---|---|---|
| 同步 | com.aliyun:{productCode}{version} | 简单流程、低并发、易于调试 |
| 异步 |
异步示例:
java
AsyncClient client = AsyncClient.builder()
.region(cn-hangzhou)
.credentialsProvider(provider)
.overrideConfiguration(ClientOverrideConfiguration.create()
.setEndpointOverride(ecs.cn-chengdu.aliyuncs.com))
.build();
CompletableFuture
response.thenAccept(resp -> System.out.println(new Gson().toJson(resp)))
.exceptionally(throwable -> { System.out.println(throwable.getMessage()); return null; });
// 使用完毕后务必关闭异步客户端
client.close();
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 alibabacloud-sdk-client-initialization-for-java-1776023285 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-sdk-client-initialization-for-java-1776023285 技能
skillhub install alibabacloud-sdk-client-initialization-for-java-1776023285
文件大小: 2.3 KB | 发布时间: 2026-4-13 09:19