如何使用 python 客户端库获取 Pubsub 中存在的未传递消息

我使用 Pubsub 作为排队机制工具,并想知道驻留在 Pubsub 主题内的消息计数。出于同样的目的,我决定使用 Google API 指标,pubsub.googleapis.com/subscription/num_undelivered_messages但我无法弄清楚如何使用 python 客户端库 monitoring_v3 来实现这一点。


from google.cloud import monitoring_v3

import time,os

os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/key.json"


client = monitoring_v3.MetricServiceClient()

project = 'project_name'

project_name = client.project_path(project)

metric_type = "pubsub.googleapis.com/subscription/num_undelivered_messages"

你能指导我如何进一步进行并查询这个名为 num_undelivered_messages 的 google api 指标吗?


明月笑刀无情
浏览 175回答 2
2回答

浮云间

这对我有用,但我不确定这是否是创作者的意图。from google.cloud import monitoring_v3from google.cloud.monitoring_v3 import queryproject = "..."client = monitoring_v3.MetricServiceClient()result = query.Query(    client,    project,    'pubsub.googleapis.com/subscription/num_undelivered_messages',    minutes=1).as_dataframe()

Cats萌萌

对于特定订阅,您可能需要以这种方式运行代码:from google.cloud import monitoring_v3from google.cloud.monitoring_v3 import queryproject = "my-project"client = monitoring_v3.MetricServiceClient()result = query.Query(client,project,'pubsub.googleapis.com/subscription/num_undelivered_messages', minutes=60).as_dataframe()print(result['pubsub_subscription'][project]['subscription_name'][0])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python