Выполнение асинхронной функции в облачной функции - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь реализовать Speech-to-Text API в этом уроке с использованием облачных функций (python)

Долгосрочный перевод текста в текст

Реализованная здесь асинхронная длительная функция. Моя цель состоит в том, чтобы облачная функция загружала аудио с сайта, записывала его на S3, а затем вызывала клиентскую функцию API Speech-to-Text в этом местоположении S3 аудио, чтобы вернуть транскибированный текст. Вот сокращенный код из учебника:

from google.cloud import speech_v1 as speech

client = speech.SpeechClient()
# storage_uri = 'gs://cloud-samples-data/speech/brooklyn_bridge.raw'
# some configuration
audio = {"uri": storage_uri}
operation = client.long_running_recognize(config, audio)

Однако в тех случаях, когда звук слишком длинный, он не будет соответствовать даже максимальному времени ожидания в облачной функции, и я получаю время ожидания в журналах. client.long_running_recognize, вероятно, был завершен API для преобразования речи в текст, но облачная функция не может его дождаться. Что мне делать в этом случае? Является ли использование библиотеки asyncio в Python хорошим решением?

1 Ответ

2 голосов
/ 27 марта 2020

Облачные функции в настоящее время имеют максимальное время ожидания до 9 минут .

Вы можете использовать другие службы GCP, которые могут выполнять более длительные операции. Например, App Engine Flexible имеет ограничение времени ответа 60 минут или стандарт App Engine Standard с базовым масштабированием c, который имеет ограничение времени ответа 24 часа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...