Amazon Elasticache Redis集群-无法获得端点

我需要获取Amazon Elasticache中Redis集群的终端节点。以下代码适用于Memcached群集,但不适用于Redis:

import com.amazonaws.auth.AWSCredentials;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;

import com.amazonaws.regions.Regions;

import com.amazonaws.services.elasticache.AmazonElastiCacheClient;

import com.amazonaws.services.elasticache.model.DescribeCacheClustersRequest;

import com.amazonaws.services.elasticache.model.DescribeCacheClustersResult;

import com.amazonaws.services.elasticache.model.CacheNode;

import com.amazonaws.services.elasticache.model.CacheCluster;

import com.amazonaws.services.elasticache.model.Endpoint;

public class Redis {

public static void main(String[] args) {

AWSCredentials credentials =

new ProfileCredentialsProvider("default").getCredentials();

AmazonElastiCacheClient amazonClient = new AmazonElastiCacheClient(credentials);

amazonClient.setRegion(Regions.EU_WEST_1);

DescribeCacheClustersRequest dccRequest = new DescribeCacheClustersRequest();

dccRequest.setShowCacheNodeInfo(true);

dccRequest.withCacheClusterId("app-001");

DescribeCacheClustersResult clusterResult =

amazonClient.describeCacheClusters(dccRequest);

CacheCluster cacheCluster = clusterResult.getCacheClusters().get(0);

System.out.println("cluster: " + cacheCluster);

System.out.println("endpoint: " + cacheCluster.getConfigurationEndpoint());

}

}

输出为:

cluster: {CacheClusterId: app-001,ClientDownloadLandingPage: https://console.aws.amazon.com/elasticache/home#client-download:,CacheNodeType: cache.r3.large,Engine: redis,EngineVersion: 2.8.19,CacheClusterStatus: available,NumCacheNodes: 1,PreferredAvailabilityZone: eu-west-1a,CacheClusterCreateTime: Thu May 21 11:43:03 CEST 2015,PreferredMaintenanceWindow: mon:04:00-mon:05:00,PendingModifiedValues: {CacheNodeIdsToRemove: [],},CacheSecurityGroups: [],CacheParameterGroup: {CacheParameterGroupName: default.redis2.8,ParameterApplyStatus: in-sync,CacheNodeIdsToReboot: []},CacheSubnetGroupName: default,CacheNodes: [{CacheNodeId: 0001,CacheNodeStatus: available,CacheNodeCreateTime: Thu May 21 11:43:03 CEST 2015,Endpoint: {Address: app-001.3pusxn.0001.euw1.cache.amazonaws.com,Port: 6379},ParameterGroupStatus: in-sync,CustomerAvailabilityZone: eu-west-1a}],AutoMinorVersionUpgrade: true,SecurityGroups: [{SecurityGroupId: sg-3231f657,Status: active}],ReplicationGroupId: app,SnapshotRetentionLimit: 0,SnapshotWindow: 22:00-23:00}

endpoint: null

请注意,群集对象如何包含端点信息(键Endpoint:),但仍getConfigurationEndpoint返回null

我如何获得终点?

回答:

通常,我在发布问题后就找到了解决方案。在Redis中,您必须访问缓存节点:

cacheCluster.getCacheNodes().get(0).getEndpoint());

以上是 Amazon Elasticache Redis集群-无法获得端点 的全部内容, 来源链接: utcz.com/qa/397555.html

回到顶部