Aan de slagGa gratis aan de slag

Een taak decoreren

Je hebt besloten om een specifieke Airflow-taak te implementeren met Python. Deze taak moet een bestand downloaden en opslaan op het systeem binnen Airflow, met behulp van de functie pull_file. Deze functie is al voor je gedefinieerd.

De requests-bibliotheek is al voor je geïmporteerd, net als het Airflow-dagobject.

Deze oefening maakt deel uit van de cursus

Introductie tot Apache Airflow in Python

Cursus bekijken

Oefeninstructies

  • Importeer het benodigde object uit de Airflow-bibliotheek.
  • Configureer de functie pull_file als een Airflow-taak.
  • Roep het taakobject aan.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren