从localhost客户端访问DAX AWS时出现错误
错误:
EVERE:在群集刷新期间捕获到异常:java.io.IOException:无法从主机配置群集端点:[daxcluster *:8111] java.io.IOException:无法从主机配置集群端点:
示例测试代码
public static String clientEndPoint = "*.amazonaws.com:8111";
DynamoDB getDynamoDBClient() {
System.out.println("Creating a DynamoDB client");
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
return new DynamoDB(client);
}
static DynamoDB getDaxClient(String daxEndpoint) {
ClientConfig daxConfig = new ClientConfig().withEndpoints(daxEndpoint);
daxConfig.setRegion(Regions.US_EAST_1.getName());
AmazonDaxClient client = new ClusterDaxClient(daxConfig);
DynamoDB docClient = new DynamoDB(client);
return docClient;
}
public static void main(String args[]) {
DynamoDB client = getDaxClient(clientEndPoint);
Table table = client.getTable("dev.Users");
Item fa = table.getItem(new GetItemSpec().withPrimaryKey("userid", "tf@gmail.com"));
System.out.println(fa);
}
答案 0 :(得分:1)
DAX群集在您的VPC中运行。要从笔记本电脑连接到DAX群集,您需要将VPN连接到您的VPC:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpn-connections.html
答案 1 :(得分:1)
答案:DAX只在VPC中支持
我自己也遇到了同样的问题并且发现了困难。
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html
使用备注有关DAX可用的AWS区域列表,请参阅 https://aws.amazon.com/dynamodb/pricing
DAX支持用Java,Node.js,.Python和.NET编写的应用程序, 将AWS提供的客户端用于这些编程语言。
DAX不支持传输层安全性(TLS)。
DAX仅适用于EC2-VPC平台。(没有支持 对于EC2-Classic平台。)
DAX群集维护有关项目属性名称的元数据 存储,并且元数据无限期地维护(即使在 item已过期或已从缓存中逐出)。应用程序 随着时间的推移,使用无限数量的属性名称会导致 DAX集群中的内存耗尽。此限制仅适用于 顶级属性名称,而不是嵌套属性名称。示例 有问题的顶级属性名称包括时间戳,UUID和 会话ID。
请注意,此限制仅适用于属性名称,而不适用于属性名称 值。这样的项目不是问题: