如何从Amazon Cloudwatch获取公制单位?

时间:2019-01-14 15:35:23

标签: c# amazon-web-services aws-sdk amazon-cloudwatch

背景

我正在对AmazonCloudWatch api进行一些调用,并且可以使用GetMetricDataAsyncListMetricsAsync调用成功地接收回数据。但是,返回的数据不包括该数据的实际单位。

例如:字节百分比

没有单位,我将无法有意义地显示收集的数据。

侧面说明:我正在使用C#SDK。

问题

是否可以检索指标数据的单位?

收到示例数据

{
        "id": "q21",
        "label": "DiskWriteBytes",
        "messages": [],
        "statusCode": {
            "value": "PartialData"
        },
        "timestamps": ["2019-01-14T14:58:00+00:00", "2019-01-14T14:53:00+00:00", "2019-01-14T14:48:00+00:00"],
        "values": [0.0, 0.0, 0.0]
    }, {
        "id": "q22",
        "label": "NetworkIn",
        "messages": [],
        "statusCode": {
            "value": "PartialData"
        },
        "timestamps": ["2019-01-14T14:58:00+00:00", "2019-01-14T14:53:00+00:00", "2019-01-14T14:48:00+00:00"],
        "values": [21136.0, 21556.8, 20118.6]
    }, {

1 个答案:

答案 0 :(得分:1)

根据示例响应的外观,您正在使用GetMetricData API。 GetMetricData API将不会返回单位,有关响应数据结构,请参见此处:https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataResult.html

如果您在请求中设置了单位,API将按该单位进行过滤,因此返回的任何数据将与请求的单位一起使用。

如果您未设置单位,并且数据存在多个单位,则会返回消息,指出找到了哪些单位。

如果您不预先知道单位,需要从数据中获取它,则可以使用GetMetricStatistics API,它将返回单位:https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricStat.html