You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MWAA自定义Operator继承Amazon Provider报错:找不到指定模块

解决MWAA自定义Operator依赖Amazon Provider包的导入错误

问题背景

在托管式Amazon Airflow(MWAA)中开发继承自EmrContainerOperator的自定义Operator,依赖通过requirements.txt安装的Amazon Provider包,但运行时出现模块找不到的报错。

插件目录结构

plugins
|-- __init__.py
`-- operators
    |-- __init__.py
    `-- my_operator.py

插件定义代码(根目录__init__.py)

from airflow.plugins_manager import AirflowPlugin

from operators.my_operator import MyOperator


class MyPlugin(AirflowPlugin):
    name = 'my_plugin'
    operators = [MyOperator]

requirements.txt内容

apache-airflow-providers-snowflake==3.3.0
apache-airflow-providers-amazon==2.4.0
dag-factory==0.15.0
apache-airflow-providers-slack

报错信息

Broken plugin: [/usr/local/airflow/plugins/operators/my_operator.py] No module named 'airflow.providers.amazon.aws.operators.emr'

解决方案

  • 匹配MWAA版本与Provider包兼容性
    MWAA不同版本对Provider包版本有严格要求,apache-airflow-providers-amazon==2.4.0仅适配特定Airflow版本(比如MWAA 2.0.2)。若你的MWAA环境Airflow版本更高,需升级Provider包到对应兼容版本(比如3.x系列适配Airflow 2.2+)。

  • 检查导入路径与文件名
    确认my_operator.py中的导入语句正确:from airflow.providers.amazon.aws.operators.emr import EmrContainerOperator;同时排查文件名拼写(报错中出现的mys_operator.py疑似笔误,需与实际文件名一致)。

  • 调整插件加载顺序
    MWAA可能在Provider包安装完成前加载自定义插件,可通过延迟导入规避:
    在my_operator.py中修改初始化逻辑:

    def __init__(self, *args, **kwargs):
        from airflow.providers.amazon.aws.operators.emr import EmrContainerOperator
        super().__init__(*args, **kwargs)
    

    或在插件__init__.py中延迟导入Operator:

    from airflow.plugins_manager import AirflowPlugin
    
    class MyPlugin(AirflowPlugin):
        name = 'my_plugin'
        operators = []
    
        def __init__(self):
            from operators.my_operator import MyOperator
            self.operators = [MyOperator]
    
  • 验证依赖安装状态
    查看MWAA日志控制台中requirements.txt的安装日志,确认apache-airflow-providers-amazon==2.4.0是否成功安装,排查是否存在依赖冲突(比如dag-factory与指定Provider版本不兼容)。

内容的提问来源于stack exchange,提问作者Benny Elgazar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 03:55:24