1

我试图在 AWS Elasticache 中描述我的缓存集群节点。我正在使用使用Java 查找 AWS ElastiCache 端点的示例(解决方案代码)。

我使用代码:

 DescribeCacheClustersRequest dccRequest = new DescribeCacheClustersRequest();    
    dccRequest.setShowCacheNodeInfo(true);

    elasticache.setEndpoint("ec2.us-west-1.amazonaws.com");
    DescribeCacheClustersResult clusterResult = elasticache.describeCacheClusters(dccRequest);
    System.out.println("cache cluster node fleet size: " + clusterResult.getCacheClusters().size());
    for (CacheCluster cacheCluster : clusterResult.getCacheClusters()) {
        List<CacheNode> cacheNodes = cacheCluster.getCacheNodes();

        System.out.println("cache cluster size: " + cacheNodes.size());
    }

当我运行此代码时,我收到错误:

线程“主”状态代码中的异常:400,AWS 服务:AmazonElastiCache,AWS 请求 ID:null,AWS 错误代码:null,AWS 错误消息:null

如果我删除 setEndpoint 代码,代码不会出错,但不会返回和打印任何节点。我猜测的原因是因为默认情况下会查询 US-EAST 区域。

有谁知道我可以如何规避这个错误?

4

1 回答 1

2

您的问题是您将终端节点设置为 EC2 终端节点而不是 Amazon ElastiCache 终端节点。更正后的代码片段是:

elasticache.setEndpoint("elasticache.us-west-1.amazonaws.com");

您可以在本文档中找到完整的端点列表

于 2012-11-20T06:55:18.797 回答