You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Go SDK成本查询中添加筛选器获取指定服务数据

为AWS Go SDK的Cost Explorer查询添加服务筛选器

你需要在GetCostAndUsageInput中添加Filter字段,通过指定维度(DIMENSION)为SERVICE并设置目标服务名称列表,就能只获取指定服务的成本数据。

修改后的完整代码示例

result, err := svc.GetCostAndUsage(&costexplorer.GetCostAndUsageInput{
    TimePeriod: &costexplorer.DateInterval{
        Start: aws.String(startDate),
        End:   aws.String(endDate),
    },
    Granularity: aws.String(granularity),
    GroupBy: []*costexplorer.GroupDefinition{
        &costexplorer.GroupDefinition{
            Type: aws.String("DIMENSION"),
            Key:  aws.String("SERVICE"),
        },
    },
    // 添加筛选器部分
    Filter: &costexplorer.Expression{
        Dimensions: &costexplorer.DimensionValues{
            Key:    aws.String("SERVICE"),
            Values: aws.StringSlice([]string{"Amazon Simple Storage Service", "Amazon Elastic Compute Cloud"}),
            // 可选:如果需要排除某些服务,设置MatchOptions为"NOT_EQUAL",默认是"EQUAL"
            // MatchOptions: aws.StringSlice([]string{"EQUAL"}),
        },
    },
    Metrics: aws.StringSlice(metrics),
})

关键说明

  • 服务名称必须准确:AWS服务的名称是官方全称,比如S3对应Amazon Simple Storage Service,EC2对应Amazon Elastic Compute Cloud。如果不确定名称,可以先执行一次不带筛选的查询,从返回结果中提取服务名称后再填入。
  • MatchOptions设置:默认是EQUAL,即只包含列表中的服务;如果需要排除指定服务,可以将MatchOptions设为NOT_EQUAL。
  • 多条件组合:如果需要同时筛选其他维度(比如区域、账户),可以在Expression中使用And字段组合多个条件表达式。

内容的提问来源于stack exchange,提问作者G2code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:10:31