#google-sheets #airflow
Вопрос:
У меня есть задание воздушного потока, которое можно записать в лист Google, но мне также нужно либо стереть старые значения с листа Google, либо предоставлять новый лист при каждом запуске (и назначать разрешения, чтобы люди могли его просматривать).
вариант а: Ожидаемые шаги заключаются в следующем:
- получите данные из BigQuery в GCS в формате csv (это нормально)
- удалите старые значения из Google листа (это та часть, которой мне не хватает)
- импортируйте csv в Google лист (это нормально)
код мог бы выглядеть так, если бы я знал, что импортировать и как его использовать…
from airflow.providers.google.suite.hooks.sheets import GSheetsHook #...othertasks erase_me= GSheetsHook.clear( task_id=f'erase_me', spreadsheet_id=f"sheet_id", spreadsheet_range=f"A:K", retries=retries_num, gcp_conn_id = "my_conn", dag=dag ) #...moretasks othertasksgt;gt;erase_megt;gt;moretasks
вариант б: Я бы предпочел сделать это таким образом, но я также застрял на разрешениях:
- получите данные из BigQuery в GCS в формате csv (это нормально)
- предоставьте csv в виде совершенно нового листа Google (хотя я могу попросить airflow записать лист Google в качестве учетной записи службы, я не могу понять, как поделиться листом Google со мной или кем-либо еще после его создания).
Мы будем очень признательны за любую помощь. воздушный поток 2.1.2, композитор 1.17.0-предварительный просмотр.12