Я пытаюсь получить данные из 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 или другие действительные учетные данные для аутентификации.
Любая помощь приветствуется.