GCP большое сообщение PubSub беспорядок в триггере облачной функции - PullRequest
0 голосов
/ 04 августа 2020

Я развернул простой триггер облачной функции PubSub, используя этот учебник: https://medium.com/@milosevic81 / copy-data-from-pub-sub-to-bigquery-496e003228a1 Для тестирования я отправил большое (более 8 МБ) сообщение в PubSub topi c. В результате функция Cloud вернула в журнал следующее сообщение об ошибке: Function execution could not start, status: 'request too large' Проблема в том, что облачная функция начала запускаться, постоянно производя постоянное использование ресурсов и сообщения журнала. Он остановился только после того, как я вручную очистил связанный PubSub topi c. Есть ли механизм / конфигурация для предотвращения такого поведения? В идеале сообщение PubSub не следует повторно выбирать после выполнения триггера облачной функции.

1 Ответ

1 голос
/ 04 августа 2020

Вы достигли квоты облачных функций

Максимальный размер несжатого HTTP-запроса -> 10 МБ

Одно из решений - использовать Cloud Run (квоты выше, 32Мб)

Для этого нужно несколько изменений

Cloud Run может обрабатывать до 80 одновременных запросов на 1 экземпляре, облачные функции только один. Поскольку ваш запрос «большой», это может вызвать проблемы с памятью, если вы обрабатываете слишком много запросов в одном экземпляре. Вы можете контролировать это с помощью Cloud Run с параметром --concurrency. Установите его в 1, чтобы иметь такое же поведение, что и у функций облака.

...