IniziaInizia gratis

Decorare un task

Hai deciso di implementare un task specifico di Airflow usando Python. Questo task deve scaricare e salvare un file sul sistema all'interno di Airflow, utilizzando la funzione pull_file. Questa funzione è già definita per te.

La libreria requests è già importata, così come l'oggetto dag di Airflow.

Questo esercizio fa parte del corso

Introduzione ad Apache Airflow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa l'oggetto necessario dalla libreria Airflow.
  • Configura la funzione pull_file come task di Airflow.
  • Esegui l'oggetto task chiamandolo.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import the task decorator
from ____ import ____

@dag(dag_id='file_update')
def file_update():
  # Decorate the function as a task
  ____
  def pull_file(URL, savepath):
    r = requests.get(URL)
    with open(savepath, 'wb') as f:
      f.write(r.content)   
    print(f"File pulled from {URL} and saved to {savepath}")
  # Call the task
  ____('http://dataserver/sales.json', 'latestsales.json')

file_update()
Modifica ed esegui il codice