0

我正在使用 Java 客户端库MetricServiceClient来获取 StackDriver 时间序列。我正在使用用户 oauth 令牌进行身份验证(该用户可以访问多个项目),但似乎在多个项目中存在某种全局配额,因为当我一次只获取一个或两个项目时,我没有限制,但是当我一次获取四个或五个不同的项目,我开始受到如下错误的限制:

io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: Insufficient tokens for quota 'DefaultGroup' and limit 'USER-100s' of service 'monitoring.googleapis.com' for consumer 'project_number:764086051850'.

我已经通过交替获取哪些项目来确认这一点,这样我就可以说这不是任何一个项目——它们都开始受到速率限制。另一个奇怪的事情是,错误消息中的 project_number 与我正在获取的任何项目都不对应,甚至没有访问权限——这对我来说毫无意义。

这似乎是每 100 秒请求数的配额,但我在所有项目上都将其设置为 10,000,而且我几乎没有执行那么多请求,正如 Web 控制台中的配额历史图表所证实的那样。

是否真的有一些适用于多个项目的全局配额,如果有,是否有办法解决它?让一个用户访问多个项目对我来说要简单得多,而不必为所有项目制作服务帐户令牌。

4

1 回答 1

1

您要达到的令牌配额适用于使用应用程序默认凭据(使用共享 gcloud 项目进行计费)的用户,虽然它的存在是为了让用户快速启动和运行,但不建议将其用于实际生产使用。因此,强烈建议使用绑定到用户项目的适当服务帐户和问题的解决方案。

于 2018-01-24T20:06:18.300 回答