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

如何将含SQL语法的CloudWatch旧仪表盘小部件迁移至CDK?

在AWS CDK中配置CloudWatch SQL式指标小部件

你提到的SQL风格指标查询,属于CloudWatch的指标流查询语法,可以直接通过CDK的小部件配置实现,不需要依赖SEARCH或MATH表达式。

核心实现步骤

  • 选择对应小部件类型:这类带自定义查询的可视化一般用GraphWidget或MetricWidget,按需选择。
  • 通过metricQueries属性配置SQL式查询,对应你原有JSON中的expression字段。

CDK代码示例(TypeScript)

以下是匹配你给出的JSON示例的CDK实现:

import { Dashboard, GraphWidget } from 'aws-cdk-lib/aws-cloudwatch';
import { Construct } from 'constructs';

export class ExampleServiceDashboard extends Construct {
  constructor(scope: Construct, id: string) {
    super(scope, id);

    const dashboard = new Dashboard(this, 'ServiceMetricsDashboard', {
      dashboardName: 'ExampleService-Metrics',
    });

    // 添加带SQL分组查询的图表小部件
    dashboard.addWidgets(new GraphWidget({
      title: 'Output Rate by ProcessKey',
      region: 'us-east-1',
      metricQueries: [
        {
          id: 'q1',
          expression: 'SELECT Count(outputRate) from ExampleService GROUP BY ProcessKey',
          label: 'exampleMetric',
        },
      ],
    }));
  }
}

关键注意事项

  • 语法有效性:确保ExampleService是你的指标命名空间,outputRate是该命名空间下的存在指标,ProcessKey是该指标的有效维度。
  • CDK版本适配:部分早期CDK版本可能用metrics属性替代metricQueries,若遇报错可核对对应版本的CloudWatch模块文档。
  • 扩展查询:该语法支持更多SQL式操作,比如用WHERE过滤维度值、SUM/AVG等聚合函数,直接在expression中调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:30:47