google-cloud-platform - 在哪里可以找到 Cloud Speech-to-Text API 调用的存储结果?
问题描述
我正在使用 Google 的 Cloud Speech-to-Text 执行一批异步 long_running_recognize 转录,我的一些请求似乎超时,和/或没有返回任何内容。如何访问存储的 API 调用结果?我正在使用 Python 3.7。
我意识到 API 调用会将结果返回给进行调用的函数。我要问的是,Google 是否将我的 API 调用结果存储在某处?我如何访问它们?
解决方案
提交较大的音频文件时,您可能应该调用异步方法。具体来说,这会调用 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)
推荐阅读
- javascript - 一个 HTML 页面中的 2 个 Shadow DOM
- oop - 选择类型:不能调用仅在派生类型中定义的子程序?
- python - 在大文本中查找回文
- twitter-bootstrap - 如何为容器 Bootstrap 设置固定宽度百分比?
- reactjs - gitlab react docker:找不到npm
- sql - SQL Server - STRING_AGG 分隔符作为条件表达式
- ruby-on-rails - ActionController::ParameterMissing in ArticlesController#search
- android - 为什么我的 SMS 应用程序没有发送到正确的号码?
- java - 将 Onclick() 添加到 ArrayList 中的项目
- ios - CollectionView 单元格意外行为迅速