Доступ к метрике subscription / num_oustanding_messages в Google PubSub из Python

Можно ли получить доступ к метрике subscription/num_outstanding_messages из списка https://cloud.google.com/monitoring/api/metrics#gcp-pubsub из google-cloud-python? Я использовал аналогичный код для успешного доступа к метрике num_undelivered_messages, но повторение результатов следующего запроса (который был успешным) всегда дает пустой список.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from google.cloud import monitoring
>>> client = monitoring.Client()
>>> q = client.query(
...     "pubsub.googleapis.com/subscription/num_undelivered_messages",
...     minutes=90
... )
>>> len(list(q)) > 0
True
>>> q = client.query(
...     "pubsub.googleapis.com/subscription/num_outstanding_messages",
...     minutes=90
... )
>>> len(list(q)) > 0
False

Соответствующие версии библиотеки google-cloud-python:

~:pip freeze | grep google
gapic-google-logging-v2==0.10.1
gapic-google-pubsub-v1==0.10.1
google-cloud==0.21.0
google-cloud-bigquery==0.21.0
google-cloud-bigtable==0.21.0
google-cloud-core==0.21.0
google-cloud-datastore==0.21.0
google-cloud-dns==0.21.0
google-cloud-error-reporting==0.21.0
google-cloud-happybase==0.20.0
google-cloud-language==0.21.0
google-cloud-logging==0.21.0
google-cloud-monitoring==0.21.0
google-cloud-pubsub==0.21.0
google-cloud-resource-manager==0.21.0
google-cloud-runtimeconfig==0.21.0
google-cloud-storage==0.21.0
google-cloud-translate==0.21.0
google-cloud-vision==0.21.0
google-gax==0.14.1
googleapis-common-protos==1.5.0
grpc-google-iam-v1==0.10.1
grpc-google-logging-v2==0.10.1
grpc-google-pubsub-v1==0.10.1



Ответы (1)


num_outstanding_messages, который представляет количество сообщений, отправленных подписчику, которые еще не были подтверждены, доступен только для push-подписчиков. Обратите внимание, что хотя API не делает это различие явным, в Stackdriver показатель отображается как «push выдающиеся сообщения ". В Руководстве для подписчиков рассказывается о разнице между принудительной подпиской и опрашивающей подписчиком.

person Kamal Aboul-Hosn    schedule 19.12.2016