如何从表格数据中获取数据然后打印一条消息

问题描述

在使用 get_metric_statistics 将来自 cloudwatch 的响应制成表格后,我有以下输出。我想添加验证,如果任何总和大于 0,它将打印一条消息,说明存在错误。如果所有 Sum 都为零,则表示没有错误。

> +| Timestamp              |   Sum | Unit   | |
> 2021-01-12T09:31:00+00:00 |     0 | Count  | |
> 2021-01-12T09:30:00+00:00 |     0 | Count  | |
> 2021-01-12T09:33:00+00:00 |     0 | Count  | |
> 2021-01-12T09:29:00+00:00 |     0 | Count  | |
> 2021-01-12T09:32:00+00:00 |     0 | Count  | |
> 2021-01-12T09:28:00+00:00 |     0 | Count  |
> +---------------------------+-------+--------+

下面是我的python脚本

import json
import boto3
import os
from datetime import datetime,timedelta
from tabulate import tabulate

client = boto3.client("lambda")


class DateTimeEncoder(json.JSONEncoder):
    def default(self,o):
        if isinstance(o,datetime):
            return o.isoformat()

        return json.JSONEncoder.default(self,o)


client = boto3.client("cloudwatch")
response = client.get_metric_statistics(
    Namespace="AWS/Lambda",MetricName="Errors",Dimensions=[{"Name": "FunctionName","Value": "XXX"}],StartTime=datetime.utcnow() - timedelta(seconds=360),EndTime=datetime.utcnow(),Period=60,Statistics=["Sum"],)

message = json.dumps(response,cls=DateTimeEncoder)
message2 = json.loads(message)
message3 = message2["Datapoints"]
message4 = tabulate(message3,headers="keys",tablefmt="psql")
print(message4)

我知道这看起来很简单,但请帮忙。谢谢!

解决方法

添加如下内容:

for message in message2:
   if message["Sum"] > 0:
      print("Some error occured")
   else:
      pass

所以如果你没有得到反馈,就没有错误。如果某些 Sum 大于 0,它会告诉您 Some error

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...