我需要从 Ariflow dag 进行 API 调用。
下面是我在代码中使用的示例 json_string:
def api_call_func(**context):
source_file_name = context["dag_run"].conf["source_file_names"]
json_data = { "filenames":[
{"FileName":[f'Source_credit_{{{{ ts_nodash }}}}']}
]
}
json_string = json.dumps(json_data,
skipkeys = True,
allow_nan = True)
requests.post(url = API_URL, data = json_string)
api_task = PythonOperator(
task_id='api_task',
provide_context=True,
python_callable=api_call_func,
dag=dag,
)
但它导致以下响应:
<filenames>
<FileName>f'Source_credit_{{ ts_nodash }}</FileName>
</filenames>
以下是 currentDateTime 所需的响应:
<filenames>
<FileName>f'Source_credit_20210408010223</FileName>
</filenames>
如何在 json 中传递 ts_nodash 宏?或者如何在 json 中传递 dag 的执行日期时间?