从localhost客户端访问DAX aws时出错

时间:2017-07-17 11:31:43

标签: amazon-web-services amazon-dynamodb

从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);

}

2 个答案:

答案 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。

     

请注意,此限制仅适用于属性名称,而不适用于属性名称   值。这样的项目不是问题: