ashb edited a comment on pull request #8652:
URL: https://github.com/apache/airflow/pull/8652#issuecomment-630806879


   > > So this `.output` wasn't in the AIP proposal.
   > 
   > @ashb #8055 , main idea was to be able to mix functional and 
non-functional ops in one DAG.
   
   Will the example from the AIP still (eventually) work?
   
   ```python
   with DAG(
       'send_server_ip', default_args=default_args, schedule_interval=None
   ) as dag:
   
     # Using default connection as it's set to httpbin.org by default
     get_ip = SimpleHttpOperator(
         task_id='get_ip', endpoint='get', method='GET', xcom_push=True
     )
   
     @dag.task(add_context=True)
     def email_subject_generator(context: dict, raw_json: str) -> str:
       external_ip = json.loads(raw_json)['origin']
       return f"Server connected from {external_ip}"
   
     @task
     def email_body_generator(raw_json: str) -> str:
       return """
       Seems like today your server executing Airflow is connected from the 
external IP {origin}<br>
       <br>
       Have a nice day!
       """.format(**json.loads(raw_json))
   
     send_email = EmailOperator(
         task_id='send_email',
         to="[email protected]",
         subject='',
         html_content=''
     )
   
     ip_info = get_ip()
     subject = email_subject_generator(ip_info)
     body = email_body_generator(ip_info)
     send_email(subject=subject, html_content=body)
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to