使用Postgres表中的ID创建自定义AWS cloudwatch指标

时间:2017-10-28 01:54:42

标签: amazon-web-services amazon-rds amazon-cloudwatch

我有一个我需要解决的有趣问题。我在Postgres有一张桌子A.该表被视为具有一组任务的队列。 ID是Postgres中的增量ID。

我希望有一个指标来包含当前处理的位置(ID)和最大ID数。这两个数字每秒都在积累。

有没有一种有效的方法呢?

最简单的方法是每10秒执行一次SQL查询(不同):

从表中选择blablah然后按asc

限制1个订单

获取最小的id并使用相同的方法获得最大的id。

但这个命令很贵。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

在表中插入新记录时,返回记录ID。提取记录时也一样。您可以将其缓存在内存,文件,不同的数据库表等中。然后运行计划任务以将这些值作为自定义指标发布到CloudWatch。

示例(非常简单)插入新记录时返回ID的SQL语句:

INSERT INTO table (name) OUTPUT Inserted.ID VALUES('bob');