我在Airflow的Dag中有以下代码:
scenery= {
'task_id': 'TASK_ID',
'name': 'TASK-NAME-TEMPLATE',
'job_class_name': '.com.company.project.ClassName',
'template': 'ClassName'
}
stores = [
{'name': 'STORE-NAME', 'jobs': [{'job': scenery, 'days': 2}, {'job': scenery, 'days': 1}]},
{'name': 'ANOTHE-STORE-NAME', 'jobs': [{'job': scenery, 'days': 2}, {'job': scenery, 'days': 3}]}
]
for store in stores:
for job in store.jobs:
dag_scenery_template = KubernetesPodOperator(
task_id=store.name + job.task_id + '_template',
name=store.name + job.name,
namespace='default',
image=image,
arguments=[job.job_class_name,
'--runner=DataflowRunner', store.name, job.days],
secrets=[secrets],
tolerations=Tolerations.default,
affinity=Affinity.default,
resources=resources,
dag=dag)
dag_scenery = DataflowTemplateOperator(
task_id=store.name+ '_cip_installment_payment',
template=job.template,
dag=dag)当Cloud Build on GCP完成对我的应用程序的部署时,我在Airflow的主页上看到了这个错误:
Broken DAG: [/home/airflow/gcs/dags/name-of-dag.py] 'dict' object has no attribute 'jobs'如何访问此属性?
坦克们!
发布于 2021-05-19 11:16:24
在Python中访问字典与在JS中访问JSON对象不同。
例如,请按如下方式更正作业:
for store in stores:
for job in store['jobs']:
...https://stackoverflow.com/questions/67596345
复制相似问题