Я использую функция create_table() клиента Python, которая вызывает базовую API вставки таблиц. Существует параметр exists_ok
, но это заставляет функцию просто игнорировать создание, если таблица уже существует. Проблема в том, что при создании представления я хотел бы перезаписать существующий SQL представления, если он уже существует. Что я сейчас делаю, чтобы обойти это:
if overwrite:
bq_client.delete_table(view, not_found_ok=True)
view = bq_client.create_table(view)
Что мне не нравится в этом, так это то, что потенциально есть несколько секунд, в течение которых представление больше не существует. И если код умирает по какой-либо причине после удаления, но до создания, то представление фактически исчезает.
Мой вопрос: есть ли способ создать таблицу (представление) таким образом, чтобы она перезаписывала любой существующий объект? Или, возможно, мне нужно обнаружить эту ситуацию и запустить какой-то update_table()
(патч)?