Файл jinja2 воздушного потока json - PullRequest
0 голосов
/ 03 июля 2019

Я использую Airflow 1.10.1 с Python 3.5 и, допустим, я расширил оператор BaseOperator и добавил расширение .json до template_ext

template_ext = ('.json',)

, а затем я предоставляю путь к *Шаблонный файл 1007 *, содержащий макро-заполнители

{
  "kind": "dfareporting#report",
  "name": "{{ params.cm_report_name }}"
}

, который содержит заполнитель для параметра params, который передается всем операторам dag через default_args.

args = {
    # ...
    'params': {
        'cm_report_name': "AAAA"
    }
}

Но по какой-то причине мой макрос не заменяется на "AAAA".

Я попытался скопировать / вставить шаблон, который использует bigquery_operator.py для .sql файлов.

Вот полный код оператора: https://gist.github.com/fpopic/64455b8d24acc6a7d3e6d73392b20c9f#file-cm_report_find_update_operator-py-L15

1 Ответ

1 голос
/ 03 июля 2019

Вам не хватает параметра "template_fields", например:

template_fields = ('sql', 'destination_dataset_table', 'labels')
template_ext = ('.sql', )
...