Как сэкономить при вызове BigQuery из облачной функции Google - PullRequest
1 голос
/ 19 февраля 2020

Ежедневно в мое хранилище Google добавляется 10 000 изображений.

В этом хранилище есть событие облачной функции, которое запускает сканирование BigQuery

Моя облачная функция проверяет существующие записи в BigQuery. 10000 раз в день, что приводит к увеличению моего счета BigQuery до неустойчивой суммы.

Я хотел бы знать, есть ли способ один раз запросить базу данных и сохранить результаты в переменной, которая затем может быть доступна для все запущенные облачные функции?

В итоге: запросите базу данных один раз, сохраните результаты запроса, используйте результаты запроса для всех вызовов облачной функции. Таким образом, я не бью BigQuery 10 000+ раз в день.

PS BigQuery обработал 288 терабайт данных, что является безумным счетом $$$$$$$$$$$

1 Ответ

1 голос
/ 19 февраля 2020

Это безумный счет.

Шаг 1: Настройте контроль затрат. Вы никогда больше не будете иметь дело с безумными счетами.

Шаг 2: Вместо запросов еще раз, проверьте результаты предыдущей работы. Если это тот же запрос и данные, те же результаты остаются в силе. Метод API - jobs.getQueryResults().

Шаг 3: Кластеризация ваших таблиц. Вы, вероятно, найдете 90% дополнительных сокращений затрат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...