Google cloud storage &引用;“Dag似乎不见了”;Cloud Composer气流动态DAG中存在错误

Google cloud storage &引用;“Dag似乎不见了”;Cloud Composer气流动态DAG中存在错误,google-cloud-storage,airflow,directed-acyclic-graphs,google-cloud-composer,Google Cloud Storage,Airflow,Directed Acyclic Graphs,Google Cloud Composer,我在Google Cloud Composer中创建了一个动态DAG,在web服务器中列出并运行(回填),没有错误。 但是,也存在一些问题: 当点击web url中的DAG时,它会显示“DAG似乎是 失踪“ 无法看到显示上述错误的图形视图/树视图 无法手动触发显示上述错误的DAG 尝试几天来解决这个问题…任何提示都会有帮助。谢谢大家! from airflow import DAG from airflow.operators.dummy_operator import DummyOperato

我在Google Cloud Composer中创建了一个动态DAG,在web服务器中列出并运行(回填),没有错误。 但是,也存在一些问题:

  • 当点击web url中的DAG时,它会显示“DAG似乎是 失踪“
  • 无法看到显示上述错误的图形视图/树视图
  • 无法手动触发显示上述错误的DAG
  • 尝试几天来解决这个问题…任何提示都会有帮助。谢谢大家!

    from airflow import DAG
    from airflow.operators.dummy_operator import DummyOperator
    from airflow.operators.python_operator import PythonOperator
    from airflow.contrib.operators.gcs_to_bq import GoogleCloudStorageToBigQueryOperator
    from google.cloud import storage
    from airflow.models import Variable
    import json
    
    
    args = {
         'owner': 'xxx',
         'start_date':'2020-11-5',
         'provide_context': True
        }
    
    
    dag = DAG(
        dag_id='dynamic',
        default_args=args
        )
    
    
    def return_bucket_files(bucket_name='xxxxx', **kwargs):
        client = storage.Client()
        bucket = client.get_bucket(bucket_name)
        blobs = bucket.list_blobs()
    
        file_list = [blob.name for blob in blobs]
    
        return file_list
    
    
    def dynamic_gcs_to_gbq_etl(file, **kwargs):
    
        mapping = json.loads(Variable.get("xxxxx"))
        database = mapping[0][file]
        table = mapping[1][file]
    
        task=GoogleCloudStorageToBigQueryOperator(
            task_id= f'gcs_load_{file}_to_gbq',
            bucket='xxxxxxx',
            source_objects=[f'{file}'],
            destination_project_dataset_table=f'xxx.{database}.{table}',
            write_disposition="WRITE_TRUNCATE",
            autodetect=True,
            skip_leading_rows=1,
            source_format='CSV',
            dag=dag)
    
        return task
    
    
    start_task = DummyOperator(
        task_id='start',
        dag=dag
    )
    
    
    end_task = DummyOperator(
        task_id='end',
        dag=dag)
    
    
    push_bucket_files = PythonOperator(
            task_id="return_bucket_files",
            provide_context=True,
            python_callable=return_bucket_files,
            dag=dag)
    
    
    for file in return_bucket_files():
        gcs_load_task = dynamic_gcs_to_gbq_etl(file)
        start_task >> push_bucket_files >> gcs_load_task >> end_task
    

    此问题意味着Web服务器无法填充其一侧的DAG包-此问题很可能与您的DAG无关

    我的建议是现在就尝试重新启动web服务器(通过)


    此报告中也报告了类似问题。

    此问题意味着Web服务器无法填充其一侧的DAG包-此问题很可能与您的DAG无关

    我的建议是现在就尝试重新启动web服务器(通过)

    本报告中也报告了类似的问题