【问题标题】:Quota exceeded for quota metric 'speech.googleapis.com/default_requests' not really understandable配额指标“speech.googleapis.com/default_requests”的配额超出了无法理解
【发布时间】:2019-06-11 15:10:32
【问题描述】:

我目前正在使用 NodeJS 客户端库使用名为 API Speech-to-Text 的 GCP 服务。 为此,我遵循了快速入门文档,首先尝试识别一个简短的本地音频文件(非常简单)。但是,当我运行 node test_sample.js 时,我不断收到此错误:

ERROR: { Error: Quota exceeded for quota metric 'speech.googleapis.com/default_requests' and limit 'DefaultRequestsPerMinutePerProject' of service 'speech.googleapis.com' for consumer 'project_number:764086051850'.
    at Http2CallStream.call.on (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/client.js:102:45)
    at Http2CallStream.emit (events.js:198:15)
    at Http2CallStream.endCall (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:74:18)
    at /Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:163:18
    at processTicksAndRejections (internal/process/task_queues.js:86:5)

注意:上面提到的project_number和我的不一样

我已经尝试更改我的默认 gcloud 项目/帐户,以及创建一个全新的项目并再次激活 API。 我还在 GCP Console 上检查了我的请求图,是的,它们是空的

快速入门示例代码见here

感谢您对此的帮助

编辑已解决:这是一个身份验证问题,我使用服务帐户的 JSON 密钥解决了该问题,并通过运行 export GOOGLE_APPLICATION_CREDENTIALS="/PATH-TO-FILE/key.json" 进行引用。 谢谢@JJ Geewax

【问题讨论】:

  • 您超出了配额。检查您的代码以查看您发出了多少 API 请求。结构不佳的循环可能会很快导致此问题。
  • 这基本上是 GCP 的快速入门 + 我的音频长达 30 秒 + 甚至 1 天后我在 GCP 控制台的配额图表上看不到任何记录的请求。不要认为这是代码问题
  • 嗨,我遇到了完全相同的问题。似乎 Google 刚刚更改了身份验证方法中的某些内容。
  • 是的,这是一个身份验证问题,我发现此错误消息非常具有误导性...
  • 已解决:简单地说,谷歌现在想要你的信用卡号;如果您在一个月内使用 API 超过 60 分钟,他们不会阻止您的请求,而是会向您开具发票……因此您必须创建一个服务帐户,启用 API 并同意在每月 60 分钟后付款。

标签: node.js google-cloud-platform speech-to-text


【解决方案1】:

您注意到项目编号与您看到错误结果的编号不同,因此这似乎是更大的问题... Google Cloud 客户端库从几个不同的地方(每个地方都有不同的优先级),因此您可能会意外地从应用程序默认设置中获取凭据和身份(可能是gcloud 命令行工具)。你能用你正在运行的代码更新问题来得到这个错误吗?

有几种方法可以解决这样的问题,但最简单的方法可能是运行: gcloud auth application-default login 在命令行中 (documentation)。

遵循身份验证流程后,您应该最终获得预期项目的凭据。

您可能还想查看 Node.js 中 GCP 的 Getting Started with Authentication 指南,其中讨论了创建服务帐户并使用环境变量设置这些凭据。

【讨论】:

  • 为了准确回答您的问题,我可以解决我的问题:命令gcloud auth application-default login 没有改变任何东西。您确实必须设置一个服务帐户,获取 JSON 密钥,将其存储在某处并设置 export GOOGLE_APPLICATION_CREDENTIALS="PATH-TO-FILE/key.json"
  • @hyone 你必须创建一个发票帐户
  • 我想你自己找到了答案:)
猜你喜欢
  • 1970-01-01
  • 2020-08-20
  • 2021-06-14
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多