У меня есть функция Google Cloud, и в рамках этого я вызвал два внешних API (или URL-адреса), используя библиотеку Python requests
, одну requests.get
и другую requests.post
. Обратите внимание, что эти API протестированы и работают с использованием Postman.
requests.get
загружает файл MP3 и работает в облачных функциях, поскольку я смог увидеть загруженный файл в облачном хранилище:
download_url = "https://some.url.com/music.mp3"
resp = requests.get(download_url)
[get the resp.content, put to storage bucket]
Помимо хранения в облачном хранилище, я также отправляю этот mp3-файл в Google Cloud Speech-to-Text API и получаю расшифрованный текст, который я хочу опубликовать на другом URL.
[transcribe the audio using Speech-to-Text API, get the transcibed text]
data = { "download_url": download_url, "transcription": transcribed_text }
upload_api = https://another.url.com/api"
resp = requests.post(upload_api, data = data)
Аналогично, транскрипция работает, потому что я печатаю / регистрирую текст, который отображается в консоли «Просмотр журналов» облачных функций. Однако в requests.post
я получаю тайм-аут, также согласно журналам.
requests.post(upload_api, data = data, timeout=120)
Я даже удлиняю настройку тайм-аута, но это все равно происходит. Что может быть объяснением этого? Есть ли какая-то конфигурация Google Cloud, которую я пропускаю, чтобы установить где-то, что может быть причиной этого?