问题描述
我在创建的发布/订阅上有一个号码,该号码没有附加使用者,并且可以存储最多7天的邮件。这是因为理想情况下,这些发布/订阅中的消息数不应超过某个阈值。我想从我的应用程序定期监视这些发布/订阅,然后在数量超过阈值的极少数情况下处理消息。如果没有,甚至设置相同的警报也有帮助。
我知道我可以从Google Cloud Console中为订阅设置Cloud Monitoring,并创建仪表板/警报。是否可以通过JAVA客户端库(Google云监控Link to Documentation)以编程方式执行此操作?由于没有很多代码示例,因此我发现这很困难。
TLDR:如何使用Google Cloud Cloud Monitoring JAVA客户端库在我的代码中获取发布/订阅中的unack消息数量
解决方法
您可以使用listTimeSeries
方法来获取数据。
您可以使用 MetricServiceClient。ListTimeSeriesRequest 以编程方式读取这些指标(例如 subscription / num_undelivered_messages )。 Cloud Monitoring docs页面包含有关如何初始化客户端库的示例:https://cloud.google.com/monitoring/docs/reference/libraries#using_the_client_library