尽管使用量在配额限制之内,为什么还要获得“资源已用尽”?

问题描述

问题

我正在通过googleapis npm软件包使用来自node.js(Firebase的云函数)的Google Sheets API v4来写入Google Sheets。

偶尔会收到此错误

Error: Resource has been exhausted (e.g. check quota).
    at Gaxios._request (/workspace/node_modules/gaxios/build/src/gaxios.js:89:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)

虽然并没有说达到哪个特定配额。

实际上,在那个特定时刻,有许多并发函数执行写入Google表格,但其中一些失败:

Failed executions

GCP控制台

https://console.cloud.google.com/iam-admin/quotas说配额状态很好:

Quotas

https://console.cloud.google.com/apis/api/sheets.googleapis.com/quotas显示发行时的使用量在配额限制内:

Read requests per 100 sec

Write requests per 100 sec

猜测

我怀疑我可能达到“每100秒写请求数每个用户”的配额限制…是因为“按响应代码显示的流量”图表显示为2.03 reqs / sec,因此有203个请求每100秒,并且所有这些都来自一个凭证:

Traffic

但是,“未显示用户配额使用情况”,并且错误消息或GCP控制台均未明确指示实际耗尽了什么配额。

此外,对此猜测有一个反论点:上表中的总计“每100秒的请求数”低于100,我假设“每100秒的请求数用户”不能高于总数。

问题

  1. 根据GCP控制台中的图表得出的结论是否正确,表明我没有达到配额限制?
  2. 如何确定错误消息中引用了哪个配额限制?
  3. Resource has been exhausted (e.g. check quota)错误背后还有​​什么其他原因?

根据评论进行更新

这是到实际代码存储库的链接

这不是Minimal,Reproducible Example,这是实际使用的代码在这种情况下,我认为提供一个可复制的示例不值得花时间,因为问题主要与解释错误消息并弄清楚已达到哪个特定配额限制有关。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)