GCP大PubSub消息混乱的云功能触发器

时间:2020-08-04 14:31:00

标签: google-cloud-functions google-cloud-pubsub

我已使用以下教程部署了简单的PubSub Cloud Function触发器:https://medium.com/@milosevic81/copy-data-from-pub-sub-to-bigquery-496e003228a1
为了进行测试,我将较大的消息(超过8MB)推送到PubSub主题。
结果,Cloud函数将以下错误消息返回到日志:Function execution could not start, status: 'request too large'
问题是,Cloud Function开始不断启动,产生持续的资源使用情况和日志消息。只有在我手动清除了相关的PubSub主题后,它才停止。
有防止这种行为的机制/配置吗?理想情况下,在Cloud Function触发执行后,不应再次选择PubSub消息。

1 个答案:

答案 0 :(得分:1)

您到达了quotas of Cloud Functions

最大未压缩HTTP请求大小-> 10MB

一种解决方案是使用Cloud Run (the quotas is higher, 32Mb)

为此,您需要进行一些更改

Cloud Run可以在1个实例上最多处理80个并发请求,而Cloud Functions只能处理一个。由于您的请求“很大”,如果您在同一实例中处理太多请求,可能会导致内存问题。您可以使用--concurrency参数通过Cloud Run进行控制。将其设置为1可以具有与CLoud Functions相同的行为。