

**Description**

Update https://github.com/apache/airflow/blob/master/airflow/example_dags/tutorial_taskflow_api_etl.py tp use `@dag` decorator instead of leveraging context manager to make it more TaskFlow-y.


airflow/example_dags/tutorial_taskflow_api_etl.py
default_args = {
    'owner': 'airflow',
}
with DAG(
    'tutorial_taskflow_api_etl_dag',
    default_args=default_args,
    description='TaskFlow API ETL DAG tutorial',
    schedule_interval=None,
    start_date=days_ago(2),
    tags=['example'],
) as dag:
    
    
    dag.doc_md = __doc__
    
    
    @dag.task()
    def extract():
        """
        #### Extract task
        A simple Extract task to get data ready for the rest of the data pipeline.
        In this case, getting data is simulated by reading from a hardcoded JSON string.
        """
        data_string = '{"1001": 301.27, "1002": 433.21, "1003": 502.22}'
        order_data_dict = json.loads(data_string)
        return order_data_dict
    
    
    @dag.task(multiple_outputs=True)
    def transform(order_data_dict: dict):