Я использую инструмент BI для просмотра данных в Bigquery. Данные распределены по нескольким таблицам, поэтому у меня есть несколько JOINS в запросе, чтобы получить данные в нужном мне формате. Поскольку обработка всех этих данных заняла минуту, и я хотел бы получить опыт в реальном времени, я создал запланированный запрос для запуска запроса, который объединяет и сохраняет выходные данные в таблицу. Данные в таблицах подаются из инструмента ETL каждые 30 минут (инкрементная нагрузка). Это создает Bigquery Job для загрузки данных.
У меня есть одна конкретная таблица, после выполнения задания для этой таблицы я хочу выполнить запланированный запрос.
Я отключил расписание в запланированном запросе и сделал его таким, чтобы он мог работать только во время вызова API. Я написал сценарий python, который отправляет запрос API на запланированный запрос.
Есть ли способ в python, который отслеживает журналы в режиме реального времени для конкретной таблицы Bigquery, поэтому, когда статус задания изменяется на ' Успешно 'для конкретной таблицы, я отправлю запрос API на запланированный запрос для выполнения Запланированного запроса?
Я видел Ведение журнала Stackdriver python код и похоже, что мне нужно неоднократно делать запросы API для имитации мониторинга в реальном времени. Кажется, я не могу отфильтровать результаты в запросах API для конкретной таблицы, я написал несколько сценариев, чтобы сделать это для меня из результатов журнала.
Есть ли библиотека, которая делает это изначально?