from airflow import DAG
from airflow.providers.google.cloud.operators.bigquery import BigQueryInsertJobOperator
from airflow.providers.google.cloud.operators.gcs import GCSCreateBucketOperator
from airflow.providers.google.cloud.operators.dataflow import DataflowStartFlexTemplateOperator
with DAG('gcp_operators_dag', schedule_interval=None, start_date=None, catchup=False) as dag:
create_bucket = GCSCreateBucketOperator(task_id='create_bucket', bucket_name='my-bucket')
run_bq = BigQueryInsertJobOperator(task_id='run_bq', configuration={"query": {"query": "SELECT 1", "useLegacySql": False}})
start_dataflow = DataflowStartFlexTemplateOperator(task_id='start_dataflow', body={"launchParameter": {"jobName": "my-job", "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/Word_Count"}})
create_bucket >> run_bq >> start_dataflowThis Airflow DAG creates a GCS bucket, runs a BigQuery query, then starts a Dataflow job in sequence.