如何使用java-sdk获取任何EC2实例的成本

瓦萨尔·拉胡尔(Vatsal Rahul)

我想使用Cost Explorer API来获取EC2实例的使用情况和成本。

我能够成功获得使用情况和成本,但是该成本和用途包括EC2实例和EBS卷完成的使用量,因此我想使用来区分成本usage_type_groupEC2 :Running Hours但是每当通过时,我都没有任何价值。如果删除,我将获得总使用量和成本的价值。

DimensionValues dimensions = new DimensionValues();
        dimensions.setKey("USAGE_TYPE_GROUP");
        Collection<String> values = new ArrayList<>();
        values.add("EC2 : Running Hours");
        dimensions.setValues(values);
        filter.setDimensions(dimensions);
        GetCostAndUsageRequest getCostAndUsageRequest = new GetCostAndUsageRequest().withGroupBy(groupBy)

                .withTimePeriod(dateInterval).withGranularity(Granularity.MONTHLY)
                .withFilter(filter)
                .withMetrics("UsageQuantity")
                .withMetrics("BlendedCost");

        try {
            costInformation = costExplorer.getCostAndUsage(getCostAndUsageRequest);
        } catch (AWSCostExplorerException ex) {
            logger.error("cost fetch details failed from cost explorer " + ex.getErrorMessage());
        }
Althaf1467

试试看 我这样做了,并获得了一些EC2计费信息。

void test_costDetails() {
        Expression expression = new Expression();
        DimensionValues dimensions = new DimensionValues();
        dimensions.withKey(Dimension.SERVICE);
        dimensions.withValues("EC2 - Other");

        expression.withDimensions(dimensions);
        GetCostAndUsageResult result = costExplorer.getCostAndUsage(new GetCostAndUsageRequest().withTimePeriod(
                new DateInterval().withStart("2019-10-01").withEnd("2019-10-29")).withGranularity("DAILY").withMetrics(
                        "BlendedCost").withFilter(expression));

        result.getResultsByTime().forEach(r -> {
            System.out.println(r);
        });
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Java SDK - 获取 EC2 实例信息

使用AWS Java SDK获取EC2实例XML描述吗?

如何使用 C# 获取 EC2 实例名称

通过Java获取EC2实例的实例ID

如何从ec2实例中获取实例ID?

如何从实例名称获取ec2实例ID

如何关闭 ECS 支持的 EC2 实例以节省暂存/QA 成本

从JAVA API获取Amazon EC2实例的公共DNS

如何在AWS中获取EC2实例的信息

AWS EC2 CLI如何获取列表EC2实例-限制输出

如何使用 boto 获取正在运行的 EC2 实例的自身实例 ID?

AWS Java SDK - 使用公共 IP 启动 EC2 Spot 实例

AWS Java SDK - 在 EC2 实例上使用 SSM 运行命令

如何使用AWS Node SDK将EC2实例添加到ECS集群

如何从EB获取EC2实例以停止重新安装Java 7?

如何知道EC2实例是EC2 Classic还是EC2 VPC实例?

如何使用Ruby从EC2实例中获取特定标签值

如何使用AWS CLI获取最近启动的EC2实例?

如何使用dotnet core以编程方式获取ec2实例状态

如何使用 terraform 为我的 EC2 实例获取默认 CIDR 块?

如何使用PowerShell获取cloudformation堆栈的EC2实例IpAddress?

如何从Ansible中的实例ID获取EC2实例IP

如何通过Terraform获取现有EC2实例的实例ID / ARN?

如何从私有EC2实例中的任何区域访问sqs队列

如何降低 AWS 网站托管成本(EC2、RDS)

估算EC2的平均每月使用成本

使用AWS的PHP SDK重新启动ec2实例

使用 .NET SDK 启动带有用户数据的 AWS EC2 实例

是否可以使用 node.js sdk 从 EC2 运行实例创建启动配置?