GCP: где планировать подписчика PubSub, который пишет в BigQuery
Мне нужно написать в BigQuery из PubSub в Python. Я проверил некоторый асинхронный код подписчика, и он работает нормально. Но это должно выполняться постоянно, и я не уверен на 100%, где это можно запланировать. Я использовал Cloud Composer (Airflow), но он не выглядит идеально подходящим, и похоже, что Dataflow - это тот, который рекомендован GCP? Это верно?
Или есть способ запустить это из Cloud Composer надежно? Я думаю, что могу запустить его один раз, но хочу убедиться, что он снова запустится, если по какой-то причине произойдет сбой.
0 ответов
Два лучших способа достичь этой цели - использовать облачные функции или облачный поток данных. Для облачных функций вы должны настроить триггер в теме Pub/Sub, а затем в своем коде записать в BigQuery. Это будет похоже на руководство по потоковой передаче из облачного хранилища в BigQuery, за исключением того, что входными данными будут сообщения Pub/Sub. Для Dataflow вы можете использовать один из предоставленных Google шаблонов с открытым исходным кодом для записи сообщений Pub/Sub в BigQuery.
Облачный поток данных, вероятно, лучше подойдет, если ваша пропускная способность высока (тысячи сообщений в секунду) и стабильна. Если у вас низкая или нечастая пропускная способность, лучше всего подойдут облачные функции. Любое из этих решений будет работать постоянно и записывать сообщения в BigQuery, когда они будут доступны.