在Airflow 2.3中,使用XCom.get_many会报出“deprecated”警告。为了避免这种警告,可以使用XCom.get_many_by_key或XCom.get_many_to_one来代替。
XCom.get_many_by_key示例:
from airflow.models import XCom
# 获取所有具有某个key的xcom值
xcom_values = XCom.get_many_by_key(key='my_key', dag_id='my_dag_id')
XCom.get_many_to_one示例:
from airflow.models import XCom
# 返回包含一组任务实例的xcom值
ti_list = [task_instance1, task_instance2, task_instance3]
xcom_values = XCom.get_many_to_one(key='my_key', task_instances=ti_list)
以上两种方法不仅避免了警告,还提供了更多灵活性和更好的性能。