亚马逊现货价格历史 - Java代码

时间:2012-09-26 07:19:36

标签: java sdk amazon-ec2

应该可以获得过去90天的AWS Spot Price历史记录。使用Java SDK时,可以创建一个查询来获取一些历史记录,但由于此列表太长,因此将它拆分。使用令牌,您应该能够获得列表的下一部分,直到您收到整个列表为止。

问题是使用给定的令牌我还无法检索更多的列表的第一部分。在搜索互联网时,很明显我对这个标记的理解是正确的。

    // Create the AmazonEC2Client object so we can call various APIs.
    AmazonEC2 ec2 = new AmazonEC2Client(credentials);

    // Get the spot price history
    DescribeSpotPriceHistoryResult result = ec2.describeSpotPriceHistory();

    // Print first part of list
    for (int i = 0; i < result.getSpotPriceHistory().size(); i++) {
        System.out.println(result.getSpotPriceHistory().get(i));
    }

    result = result.withNextToken(result.getNextToken());

    // Print second part of list
    for (int i = 0; i < result.getSpotPriceHistory().size(); i++) {
            System.out.println(result.getSpotPriceHistory().get(i));
    }

结果的“nextToken”没有改变。我有什么想法我做错了吗? SDK中是否有错误?我是通过Eclipse安装的。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您确实没有按预期使用API​​ - 您需要使用DescribeSpotPriceHistoryRequest中检索到的nextToken重新提交DescribeSpotPriceHistoryResult(诚然,您可以设置{{有点令人困惑]也就后者而言,猜测它理想情况下应该只是一个内部方法,例如:

nextToken