Я пытаюсь создать шаблон поля params в операторе Bigquery, как показано ниже.
t3 = MyBigQueryOperator(
task_id='autoplay_calc',
bql='autoplay_calc.sql',
params={
"env" : deployment
,"region" : region
,"partition_start_date" : '{{ macros.ds_add(ds, -1) }}'
},
bigquery_conn_id='gcp_conn',
use_legacy_sql=False,
write_disposition='WRITE_APPEND',
allow_large_results=True,
provide_context=True,
destination_dataset_table=reporting_project + '.pa_reporting_public_batch.autoplay_calc',
dag=dag
)
Я понимаю, что params не является шаблонным полем, поэтому я расширил оператор Bigquery, как показано ниже, чтобы сделать это шаблонное поле.
class MyBigQueryOperator(BigQueryOperator):
template_fields = ('params', 'bql', 'destination_dataset_table')
Однако, когда я запускаю код, кажется, что он не преобразует поле параметров, когда я получаю сообщение об ошибке ниже
Could not cast literal "{{ macros.ds_add(ds, -1) }}