配额指标'speech.googleapis.com/default_requests'超出配额的情况无法理解

时间:2019-05-28 15:37:22

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

我目前正在使用NodeJS客户端库使用名为API语音转文本的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控制台上检查了我的请求图,结果是空的

快速入门的示例代码可以找到here

谢谢您的帮助

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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