Ошибка клиента речи Python: рандеву RPC, завершившееся кодом (StatusCode.DEADLINE_EXCEEDED)

Я новичок в Google Speech API и хочу его использовать. Ниже то, что я сделал до сих пор. 1. Я установил облачную речь Google в Windows.

  1. Я работаю за корпоративным прокси, поэтому я добавил прокси в переменную среды HTTP_PROXY и GPRC_PROXY_EXP.
  2. Я пробую пример https://cloud.google.com/speech/docs/reference/libraries#client-libraries-usage-python.
  3. Когда я встречаю response = client.recognize(config, audio), я получаю следующую ошибку:
  4. google.gax.errors.RetryError: RetryError(Превышено общее время ожидания повторной попытки с исключением, вызванное ‹_Rendezvous RPC, которое завершилось с (StatusCode.DEADLINE_EXCEEDED, Крайний срок превышен)>)

Пожалуйста, дайте мне знать, если что-то еще нужно.

Спасибо


person Shreeram Gopalakrishnan    schedule 06.10.2017    source источник


Ответы (1)


Я предполагаю, что вы используете образец transscribe_async.py. Если да, то вам нужно увеличить время ожидания ответа от асинхронного вызова. Это зависит от продолжительности вашего аудиофайла, может быть от 90 до 250 (?)

ответ = операция. результат (время ожидания = 90)

person vinaymk    schedule 08.10.2017
comment
Спасибо за ответ Винай. Но я получаю сообщение об ошибке до этого, то есть когда запускаю команду response = client.recognize(config, audio). Это из примера quickstart.py - person Shreeram Gopalakrishnan; 09.10.2017
comment
Привет Шрирам, вы должны получить этот вывод: Transcript: how old is the Brooklyn Bridge. Долго ли он ждет, прежде чем выдать эту ошибку? если вы получаете сообщение об ошибке тайм-аута python quickstart.py, значит, вы не можете получить доступ к облаку Google. Проверьте подключение к Интернету или любые другие настройки брандмауэра. - person vinaymk; 09.10.2017
comment
Да Vinay действительно долго ждет, прежде чем выкинуть ошибку. Я запускаю это в сети моей компании и не могу изменить настройки брандмауэра, так как у меня нет прав администратора. - person Shreeram Gopalakrishnan; 09.10.2017
comment
В качестве простого теста запустите эту команду на терминале: ping speech.googleapis.com и проверьте, доступен ли он. Если вы получите соответствующий ответ, проверьте, не заблокирован ли порт 443 в вашей организации. - person vinaymk; 09.10.2017
comment
Так вот в чем дело, я не могу связаться с voice.googleapis.com. Но раньше я проводил простой тест, и вот что я сделал: - person Shreeram Gopalakrishnan; 09.10.2017
comment
1. Создал учетную запись службы в облаке google и загрузил файл ключа в формате json 2. Запустил gcloud init и установил учетную запись проекта и службы по умолчанию в качестве моего логина 3. Запустил gcloud auth activ-service-account iamserviceaccount --key-file= \path\to\json 4. gcloud auth --account iamserviceaccount print-access-token output = accesstoken для использования с командой curl 5. curl -v -k -H Content-Type: \path\to\json -H Authorization : Токен доступа носителя (4) speech.googleapis.com/v1/speech:recognize -d @sync-запрос.json - person Shreeram Gopalakrishnan; 09.10.2017