Воздушный поток: скопировать локальный файл в GCS

#airflow

#воздушный поток

Вопрос:

Я использую воздушный поток для копирования файлов из локального в GCS, реализованный с помощью FileToGoogleCloudStorageOperator

Мой код:

 dag = DAG('file-gcs-demo', catchup=False, default_args=default_args)

cloud_storage_bucket_name = 'composerdemo-bucket'

t1 = FileToGoogleCloudStorageOperator(
    task_id = 'copy-file-gcs',
    src = '/Users/jw/data.json',
    dst = '/data',
    bucket = cloud_storage_bucket_name,
    gcp_conn_id = 'google_cloud_default',
    dag = dag
)

t1
 

DAG выполняется успешно, и когда я регистрируюсь в GCS, я вижу папку /data, созданную в моем ведре, но папка пуста, и файл не скопирован. Есть идеи, почему это происходит?

Ответ №1:

dst это объект, а не папка.Измените dst= , чтобы включить имя объекта в папку, например dst="data/data.json" .