Decorando uma tarefa
Você decidiu implementar uma tarefa específica do Airflow usando Python. Essa tarefa precisa baixar e salvar um arquivo no sistema dentro do Airflow, usando a função pull_file. Essa função já está definida para você.
A biblioteca requests já foi importada para você, assim como o objeto dag do Airflow.
Este exercício faz parte do curso
Introdução ao Apache Airflow em Python
Instruções do exercício
- Importe o objeto necessário da biblioteca do Airflow.
- Configure a função
pull_filepara ser uma tarefa do Airflow. - Chame o objeto da tarefa.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()