/install alibabacloud-sdk-client-initialization-for-java
Client Initialization Best Practices (Java)
Core Rules
- Client is thread-safe — safe to share across threads without synchronization.
- Use singleton pattern — do NOT create new client instances per request. Frequent
new Client()calls waste resources and hurt performance. - Prefer explicit endpoint over region-based endpoint resolution.
- preview version
Recommended Client Creation
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("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
instance = new com.aliyun.ecs20140526.Client(config);
}
}
}
return instance;
}
}
Endpoint Configuration
Priority: explicit endpoint > region-based resolution via regionId.
// Preferred: explicit endpoint
config.setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
// Alternative: SDK resolves endpoint from region
config.setRegionId("cn-hangzhou");
VPC Endpoints
Use VPC endpoints when running inside Alibaba Cloud VPC (hybrid cloud, leased lines, multi-region):
config.setEndpoint("ecs-vpc.cn-hangzhou.aliyuncs.com");
File Upload APIs (Advance)
For file upload APIs (e.g., Visual Intelligence), set both regionId and endpoint to the same region. Otherwise you may see timeouts due to cross-region OSS access:
config.setRegionId("cn-shanghai");
config.setEndpoint("objectdet.cn-shanghai.aliyuncs.com");
// For VPC file upload authorization:
client._openPlatformEndpoint = "openplatform-vpc.cn-shanghai.aliyuncs.com";
Synchronous vs Asynchronous
| Mode | SDK Artifact | When to Use |
|---|---|---|
| Synchronous | com.aliyun:{productCode}{version} |
Simple flows, low concurrency, easier debugging |
| Asynchronous | com.aliyun:alibabacloud-{productCode}{version} |
High concurrency/throughput, non-blocking I/O |
Async example:
AsyncClient client = AsyncClient.builder()
.region("cn-hangzhou")
.credentialsProvider(provider)
.overrideConfiguration(ClientOverrideConfiguration.create()
.setEndpointOverride("ecs.cn-chengdu.aliyuncs.com"))
.build();
CompletableFuture\x3CDescribeRegionsResponse> response = client.describeRegions(request);
response.thenAccept(resp -> System.out.println(new Gson().toJson(resp)))
.exceptionally(throwable -> { System.out.println(throwable.getMessage()); return null; });
// Always close async client when done
client.close();
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install alibabacloud-sdk-client-initialization-for-java - 安装完成后,直接呼叫该 Skill 的名称或使用
/alibabacloud-sdk-client-initialization-for-java触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Alibabacloud Sdk Client Initialization For Java 是什么?
Initialize and manage Alibaba Cloud SDK clients in Java. Covers singleton pattern, thread safety, endpoint vs region configuration, VPC endpoints, sync vs as... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 103 次。
如何安装 Alibabacloud Sdk Client Initialization For Java?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install alibabacloud-sdk-client-initialization-for-java」即可一键安装,无需额外配置。
Alibabacloud Sdk Client Initialization For Java 是免费的吗?
是的,Alibabacloud Sdk Client Initialization For Java 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Alibabacloud Sdk Client Initialization For Java 支持哪些平台?
Alibabacloud Sdk Client Initialization For Java 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Alibabacloud Sdk Client Initialization For Java?
由 yndu13(@yndu13)开发并维护,当前版本 v0.0.2-beta。