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

Airflow 2.0创建Webhook的HTTP连接失败报sqlalchemy错误如何解决

Airflow 2.1.0 创建HTTP连接抛出sqlalchemy DataError 解决方案

问题根因

该错误是Airflow 2.1.0版本的已知官方bug,版本升级时对元数据库connection表的schema字段长度限制做了错误调整:从Airflow 1.x的255字符上限错误修改为10字符,填写https(5字符)看似不会超限,但如果字段存在前后空格、特殊字符,或者关联的其他连接字段触发了写入校验,就会抛出数据写入类型的sqlalchemy.exc.DataError错误。

可执行解决方法

  • 临时修复(无需升级/改库)
    先清空当前连接的Schema输入框,重新手动输入https,不要复制粘贴避免带入不可见的空白字符,提交测试是否可以正常保存。如果依然报错,可以将协议头直接写到Host字段,例如Host填写https://xxx.xxx.com,Schema字段留空,Webhook Operator运行时会自动识别Host中的协议头,不会影响正常调用。
  • 永久修复方案1(修改元数据库)
    直接调整元数据库connection表的schema字段长度限制,对应不同数据库执行语句如下:
    MySQL/MariaDB:
    ALTER TABLE connection MODIFY COLUMN schema VARCHAR(255) NULL;
    PostgreSQL:
    ALTER TABLE connection ALTER COLUMN schema TYPE VARCHAR(255);
    SQLite:
    ALTER TABLE connection RENAME TO connection_old;
    CREATE TABLE connection (
      id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
      conn_id VARCHAR(250) NOT NULL,
      conn_type VARCHAR(50) NOT NULL,
      host VARCHAR(500),
      schema VARCHAR(255),
      login VARCHAR(500),
      password VARCHAR(500),
      port INTEGER,
      extra TEXT,
      created_date TIMESTAMP,
      last_modified TIMESTAMP,
      is_encrypted BOOLEAN,
      is_extra_encrypted BOOLEAN,
      UNIQUE (conn_id)
    );
    INSERT INTO connection SELECT * FROM connection_old;
    DROP TABLE connection_old;
    
    执行完成后重启Airflow Webserver和Scheduler服务即可。
  • 永久修复方案2(版本升级)
    官方在Airflow 2.1.1及后续小版本中已经修复了该字段长度错误的问题,直接将Airflow版本升级到2.1.1+即可,无需额外修改配置或数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:06:03