可能原因是 ECS Client 和 SDK 版本不匹配所致。请检查使用的 SDK 版本是否与 ECS API 相兼容。例如, 如果您使用了较旧版本的 ECS SDK,而您的 ECS API 版本已更新,则某些字段可能已更改,导致 CLIENT_ENDPOINT 缺失。您可以尝试更新 ECS SDK 版本,或者手动更改 ECS API 版本以确保兼容性。
以下是更改 AWS SDK 调用的 ECS API 版本的示例代码:
ECSClientBuilder builder = ECSClient.builder();
// 设置 ECS API 版本
builder.setServiceNameIntern("ecs");
builder.setEndpointOverride(URI.create("https://ecs.us-east-1.amazonaws.com"));
builder.setSigningRegion("us-east-1");
builder.setCredentialsProvider(new DefaultAWSCredentialsProviderChain());
builder.setApiCallTimeout(Duration.ofMinutes(1));
// 设置特定的 ECS 客户端版本
builder.setPreferredClientLibName("my-lib");
builder.setPreferredClientLibVersion("1.0");
上述代码将 ECS API 版本设置为 'us-east-1”,并使用特定的 ECS 客户端版本'my-lib 1.0”。您可以根据您的实际情况自定义 ECS API 版本和客户端版本。