气流:将{{ds}}作为参数传递给PostgresOperator

气流:将{{ds}}作为参数传递给PostgresOperator,第1张

气流:将{{ds}}作为参数传递给PostgresOperator

dt = '{{ ds }}'

不起作用,因为Jinja(气流中使用的模板引擎)无法处理整个Dag定义文件。

对于每个

Operator
字段,Jinja将处理的字段都是 *** 作员本身定义的一部分。

在这种情况下,如果您进行如下扩展

params
,则可以使字段(实际上称为
parameters
,请确保更改此字段)为模板
PostgresOperator

class MyPostgresOperator(PostgresOperator):    template_fields = ('sql','parameters')

现在您应该可以执行以下 *** 作:

s3_to_redshift = MyPostgresOperator(    task_id='s3_to_redshift',    postgres_conn_id='redshift',    sql='s3_to_redshift.sql',    parameters={'file': '{{ ds }}'},    dag=dag)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5673440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存