Oii Randell, como você está?
Peço desculpas pela demora em obter um retorno.
Ao fazer a herança da classe BaseOperator
, por padrão adquirimos o método execute
e outros métodos, como o pre_execute
e post_execute
.
O método execute
é responsável por executar o código quando o operador é chamado. Esse método, possui o parâmetro context
, que é responsável por adquirir valores de configuração do operador, ou seja, quando passamos como parâmetro o método get_template_context()
, da classe TaskInstance
, para o método execute
, o que estamos fazendo é enviando as configurações daquela DAG.
A título de curiosidade, a chamada de get_template_context() retornará algo similar ao mostrado abaixo:
{'conf': <airflow.configuration.AirflowConfigParser object at 0x1065a03d0>, 'dag': <DAG: TwitterTest>, 'ds': '2021-12-22', 'next_ds': '2021-12-23', 'next_ds_nodash': '20211223', 'prev_ds': '2021-12-21', 'prev_ds_nodash': '20211221'}
Essas informações podem ser utilizadas dentro do método context
para algum fim específico, ou até mesmo para monitoramento dos dados.
A título de curiosidade, caso queira explorar o código fonte da classe BaseOperator
ou sobre a criação dos Operadores, deixo abaixo algumas referências:
Observação: Os links estão em inglês, mas utilizando o recurso de tradução de páginas do próprio navegador é possível compreender.
Qualquer dúvida fico à disposição.
Abraços e bons estudos!