每秒约90或100个电话
pubsub_client.projects().topics().publish(topic='projects/xxxx',body=body).execute(num_retries=0)
,结果为
HttpError: <HttpError 429 when requesting https://pubsub.googleapis.com/v1/projects/xxxx:publish?alt=json returned "Request throttled due to user QPS limit being reached.">
我知道100 QPS的管理操作有限制,但肯定发布到一个主题不是一个行政操作?我知道pub / sub应该每秒支持数百万次操作,所以我知道有些不对劲。
任何帮助或见解将不胜感激。我需要每秒至少发布300次发布,尝试使用pubsub简化现有实现。我认为这可能是实施的一个错误。
我在Google App Engine python 2.7上运行此代码 - 使用appengine运行时,而不是那些尚未批准用于生产代码的灵活运行时。
答案 0 :(得分:0)
请注意,发布商配额不是QPS,而是吞吐量。默认限制为100MB / s。有关详细信息,请参阅C3PO。根据您发送的邮件大小,您可能会遇到这些限制。
发布时出现“达到用户QPS限制”消息通常意味着以下三种情况之一:
您的发布吞吐量高于默认的100MB / s配额。如果是这种情况,那么您可以点击Quotas documentation页面上的“申请更高的配额”来申请更多配额。
您未针对正确的Cloud项目进行身份验证。如果您在Cloud项目中对Google App Engine实例进行了身份验证或运行,该项目与您定义的主题不同,则可能无法在您期望的项目中定义您遇到的配额。可以在Pub/Sub Quota。
您已在Google Application Defaults Credentials page中手动设置配额,这是您遇到的限制。