В настоящее время я играю с сервисом GCP под названием API Speech-to-Text, используя клиентскую библиотеку NodeJS.
Для этого я следовал документации по быстрому запуску, пытаясь сначала распознать короткий локальный аудиофайл (довольно просто). Однако я продолжаю получать эту ошибку при запуске node test_sample.js
:
ERROR: { Error: Quota exceeded for quota metric 'speech.googleapis.com/default_requests' and limit 'DefaultRequestsPerMinutePerProject' of service 'speech.googleapis.com' for consumer 'project_number:764086051850'.
at Http2CallStream.call.on (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/client.js:102:45)
at Http2CallStream.emit (events.js:198:15)
at Http2CallStream.endCall (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:74:18)
at /Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:163:18
at processTicksAndRejections (internal/process/task_queues.js:86:5)
Примечание: указанный номер проекта не совпадает с моим
Я уже пытался изменить свой проект/учетную запись gcloud по умолчанию, а также создать новый проект и снова активировать API. Я также проверил в консоли GCP, как выглядели мои графики запросов, и да, они пусты.
Пример кода для быстрого запуска можно найти здесь
Спасибо за вашу помощь в этом
Изменить решено: это была проблема аутентификации, которую я решил с помощью ключа JSON служебной учетной записи и ссылки, запустив export GOOGLE_APPLICATION_CREDENTIALS = "/PATH-TO-FILE/key.json"
.
Спасибо @JJ Geewax
Это в основном быстрый запуск GCP + мой звук длится 30 секунд + даже через 1 день я не вижу ни одного записанного запроса на графике квот консоли GCP. Не думайте, что это проблема с кодом
Привет, у меня точно такая же проблема. Кажется, Google только что изменил что-то в методе аутентификации.
Да, это проблема аутентификации, и я нашел это сообщение об ошибке довольно вводящим в заблуждение...
Решено: проще говоря, Google теперь хочет номер вашей кредитной карты; вместо того, чтобы блокировать ваш запрос, если вы используете API более 60 минут в месяц, они выставляют вам счет... поэтому вам нужно создать учетную запись службы, включить API и согласиться платить через 60 минут в месяц.
Вы заметили, что номер проекта не совпадает с номером, который вы видите в результате ошибки, так что это кажется более серьезной проблемой здесь... Клиентские библиотеки Google Cloud получают информацию о проекте и учетные данные из нескольких разных мест. (с разными приоритетами для каждого), поэтому возможно, что вы случайно получаете учетные данные и удостоверение из настроек приложения по умолчанию (возможно, инструмент командной строки gcloud
). Можете ли вы обновить вопрос с кодом, который вы используете, чтобы получить эту ошибку?
Есть несколько способов исправить подобную проблему, но, вероятно, проще всего просто запустить:
gcloud auth application-default login
в командной строке (документация).
После того, как вы выполните процесс аутентификации, вы должны получить учетные данные для предполагаемого проекта.
Вы также можете взглянуть на руководство Начало работы с аутентификацией для GCP в Node.js, в котором рассказывается о создании учетной записи службы и настройке этих учетных данных с помощью переменной среды.
Чтобы уточнить ваш ответ, который позволил мне обойти мою проблему: команда gcloud auth application-default login
ничего не изменила. Вам действительно нужно настроить учетную запись службы, получить ключ JSON, сохранить его где-нибудь и настроить export GOOGLE_APPLICATION_CREDENTIALS = "PATH-TO-FILE/key.json"
@hyone вам нужно было создать учетную запись для выставления счетов?
Думаю, вы сами нашли ответ :)
Вы превысили свою квоту. Проверьте свой код, чтобы узнать, сколько запросов API вы делаете. Плохо структурированный цикл может быстро вызвать эту проблему.