Google cloud platform 统计Pubsub主题中未确认的邮件数

Google cloud platform 统计Pubsub主题中未确认的邮件数,google-cloud-platform,google-cloud-pubsub,Google Cloud Platform,Google Cloud Pubsub,我想在确认来自pubsub主题的所有消息后执行一个操作。我尝试使用Stackdriver监控API来度量“未确认消息的数量(按云区域划分)”,但不了解该区域的过滤器以及为什么需要它。我在哪里可以看到我的主题使用的区域?由于一些未知的原因,对于某些主题,API调用会无缘无故地失败。了解所有消息是否已被确认的最佳方法是什么。尝试使用订阅/num\u undelivered\u messages。与按区域划分的订阅/num未确认的消息不同,它位于GA中,不需要指定区域。尝试改用订阅/num未发送的消息

我想在确认来自pubsub主题的所有消息后执行一个操作。我尝试使用Stackdriver监控API来度量“未确认消息的数量(按云区域划分)”,但不了解该区域的过滤器以及为什么需要它。我在哪里可以看到我的主题使用的区域?由于一些未知的原因,对于某些主题,API调用会无缘无故地失败。了解所有消息是否已被确认的最佳方法是什么。

尝试使用
订阅/num\u undelivered\u messages
。与按区域划分的订阅/num未确认的消息不同,它位于GA中,不需要指定区域。

尝试改用
订阅/num未发送的消息。与订阅/num\u unacked\u messages\u by\uu\region不同,它是GA格式的,不需要指定区域。

云发布/子主题没有未确认消息的概念。这纯粹是单个订阅的属性,即有多少消息尚未确认


如果任何订阅中未确认的邮件期限太长,您可以使用来提醒您。将资源类型设置为“云发布/订阅”,度量设置为“最早的未确认消息”,并在任何时间序列违反某些阈值时发出警报。

云发布/订阅主题没有未确认消息的概念。这纯粹是单个订阅的属性,即有多少消息尚未确认


如果任何订阅中未确认的邮件期限太长,您可以使用来提醒您。将资源类型设置为“云发布/订阅”,度量设置为“最早的未确认消息”,并在任何时间序列违反某些阈值时发出警报。

如果您正在寻找一种编程方式来实现这一点,这可能会有所帮助:

from google.cloud import monitoring_v3
from google.cloud.monitoring_v3 import query

project = "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_name1'][0])
print(result['pubsub_subscription'][project]['subscription_name2'][0])

如果您正在寻找一种编程方式来实现这一点,这可能会有所帮助:

from google.cloud import monitoring_v3
from google.cloud.monitoring_v3 import query

project = "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_name1'][0])
print(result['pubsub_subscription'][project]['subscription_name2'][0])

好的,但我在该主题中有多个订阅…这意味着我必须查询每个订阅。可以在同一个请求中查询所有订阅吗?好的,但我在该主题中有多个订阅…这意味着我必须查询每个订阅。可以在同一请求中查询所有订阅吗?