gpt4 book ai didi

java - 使用 Java 查找 AWS ElastiCache 终端节点

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:47 25 4
gpt4 key购买 nike

我正在尝试使用最新的 Java AWS SDK 以编程方式从我的 Java 应用程序中获取 ElastiCache 端点列表。事情似乎不起作用 - 我可以找到一个有效的 CacheCluster,但是当我列出它的节点时,它是空的。这是我的代码:

CacheCluster cc = it.next();

System.out.println("Cache node type: " + cc.getCacheNodeType());
System.out.println("Number cache nodes: " + cc.getNumCacheNodes());

List<CacheNode> listCache = cc.getCacheNodes();

System.out.println("List size: " + listCache.size());

当我运行它时,我得到以下输出:

Cache node type: cache.m1.small 
Number cache nodes: 1
List size: 0

这看起来很简单,但似乎行不通。我已经启动了一个带有单个节点的 ElastiCache 集群,但是当我调用 getCacheNodes() 时该列表为空。我尝试在本地和 EC2 实例上运行此代码,但两次都得到相同的结果。

关于我可能做错了什么有什么想法吗?

最佳答案

根据 AWS 团队对 Not able to get cache nodes from ElastiCache cluster 的回复您将需要使用可选的 ShowDetails 标志通过 Class DescribeCacheClustersRequest 获取缓存节点信息方法参数describeCacheClusters() .仔细观察没有ShowDetails 标志,尽管确实为此类记录:

An optional ShowDetails flag can be used to retrieve detailedinformation about the Cache Nodes associated with the Cache Cluster.Details include the DNS address and port for the Cache Node endpoint.

大概这实际上是针对 setShowCacheNodeInfo() ,这是一个可选标志,可以包含在 DescribeCacheCluster 请求中以检索缓存节点信息。

所以 AWS 团队的回应似乎不准确,实际上并没有解决这个问题,为什么方法 getCacheNodes()来自 Class CacheCluster不会返回该信息,对于此类帖子来说这两种情况都很不寻常。

无论如何,您可能只想尝试方法 getCacheNodes()来自 Class CacheCluster由方法返回 getCacheClusters()来自 Class DescribeCacheClustersResult相反,希望它像宣传的那样有效(即我自己还没有尝试过)。

祝你好运!


更新

这是 Sander 成功用于实现其目标的代码,证实了上述方法:

AmazonElastiCacheClient client = new AmazonElastiCacheClient(credentials);
DescribeCacheClustersRequest dccRequest = new DescribeCacheClustersRequest();
dccRequest.setShowCacheNodeInfo(true);

DescribeCacheClustersResult clusterResult = client.describeCacheClusters(dccRequest);

缺失的部分应该与他最初的解决方案相似,例如:

List<CacheCluster> cacheClusters = clusterResult.getCacheClusters();
for (CacheCluster cacheCluster : cacheClusters) {
List<CacheNode> cacheNodes = cacheCluster.getCacheNodes();

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

关于java - 使用 Java 查找 AWS ElastiCache 终端节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9691276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com