Невозможно получить доступ к метрикам PubSub через C# SDK - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь получить данные из oldest_unacked_message_age metri c из PubSub, используя C# SDK, предоставляемый пакетами NuGet.

Я следую примеру кода, предоставленному по адресу:

https://github.com/GoogleCloudPlatform/dotnet-docs-samples/blob/master/monitoring/api/MonitoringSample/Program.cs

В частности, функция ReadTimeSeriesData. В приложении я установил переменную среды для GOOGLE_APPLICATION_CREDENTIALS для соответствующего jsonPath, и это работало с другими пакетами. Я использую следующее:

metric.type="pubsub.googleapis.com/subscription/oldest_unacked_message_age" для фильтра.

Однако всякий раз, когда я запускаю этот пример кода, я получаю следующую ошибку:

Status(StatusCode=PermissionDenied, Detail="Permission monitoring.timeSeries.list denied (or the resource may not exist).")

Я включил учетную запись службы при каждом разрешении, включая «Владелец». Я проверил API Explorer, API PubSub включен и API мониторинга Stackdriver также включен. Мне удалось использовать функцию «Попробуйте это API» API PubSub, и я могу получить результат, только если я использую метод OAuth и войду в систему. Я сгенерировал ключ API и попытался выполнить прямой HTTP-вызов, используя:

https://monitoring.googleapis.com/v3/projects/thinking-league-270020/timeSeries?filter=metric.type%3D%22pubsub.googleapis.com%2Fsubscription%2Foldest_unacked_message_age%22&interval.endTime=2020-03-10T23%3A14%3A21Z&interval.startTime=2020-03-10T22%3A54%3A21Z&view=FULL&key= [удалено]

и получите аналогичную ошибку:

В запросе отсутствуют необходимые учетные данные аутентификации. Ожидаемый токен доступа OAuth 2, идентификатор входа в систему ie или другие действительные учетные данные для аутентификации.

Любая помощь приветствуется.

...