The script takes input params from airflow conf {"flag":"NA","metric_name":"RED"}. I am trying to use the one param value in where clause of a sql. Can some one check if any issues the way I am passing the where caluse?
ERROR: - syntax error at or near "{"
def get_metrics(**kwargs):
varteam_flag=(kwargs['dag_run'].conf['flag'])
print("flag :",varteam_flag)
params={"param1": varteam_flag}
print(" params :",params['param1'])
conn_id = kwargs.get('conn_id')
pg_hook = PostgresHook(conn_id)
sql="select count(1) as cnt FROM odw.metrics where flag = {{ params.param1 }} "
print(sql)
records = pg_hook.get_records(sql)
print("Records count is :",str(records))
return records
getData_metrics=PythonOperator(task_id='getData_metrics', python_callable=get_metrics,op_kwargs {'conn_id':'veas'},provide_context=True, dag=dag)