首页 > 解决方案 > 在哪里可以找到 Cloud Speech-to-Text API 调用的存储结果?

问题描述

我正在使用 Google 的 Cloud Speech-to-Text 执行一批异步 long_running_recognize 转录,我的一些请求似乎超时,和/或没有返回任何内容。如何访问存储的 API 调用结果?我正在使用 Python 3.7。

我意识到 API 调用会将结果返回给进行调用的函数。我要问的是,Google 是否将我的 API 调用结果存储在某处?我如何访问它们?

标签: google-cloud-platformgoogle-cloud-speech

解决方案


提交较大的音频文件时,您可能应该调用异步方法。具体来说,这会调用 LongRunningRecognize 方法。这应该提交一个长期运行的操作并应该立即返回响应,例如:

{
  "name": "operation_name",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata"
    "progressPercent": 34,
    "startTime": "2016-08-30T23:26:29.579144Z",
    "lastUpdateTime": "2016-08-30T23:26:29.826903Z"
  }
}

使用此响应,您可以轮询给定operation_name的结果:

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     "https://speech.googleapis.com/v1/operations/your-operation-name"

注意:当您使用此方法没有收到任何返回值时,我建议增加客户端的超时和重试。这可以通过以下方式完成:

long_running_recognize(retry=10, timeout=300)

资源


推荐阅读