1

AWS Elasticache でキャッシュ クラスター ノードを記述しようとしています。Finding AWS ElastiCache endpoints with Java (ソリューション コード) の例を使用しています。

私はコードを使用します:

 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

問題は、エンドポイントを Amazon ElastiCache エンドポイントではなく EC2 エンドポイントに設定していることです。修正されたコード スニペットは次のとおりです。

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

このドキュメントでエンドポイントの完全なリストを見つけることができます

于 2012-11-20T06:55:18.797 に答える