Използвам клиентска функция 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()
(кръпка)?