首页 > 解决方案 > xcom_push 总是抛出 Invalid utf8mb4 字符串警告 - Airflow 1.10.9

问题描述

无论我使用 xcom_push() 推送什么,它总是抛出:

WARNING - /usr/local/lib/python3.6/site-packages/sqlalchemy/engine/default.py:588: Warning (1300, "Invalid utf8mb4 character string: '800358'") cursor.execute(statement, parameters)

我知道是 xcom_push() 抛出错误,因为如果我注释掉所有 xcom_pushs,那么警告就会消失。我尝试了一个带有静态文本的 xcom_push() ,但仍然出现错误。

task_instance.xcom_push(key="test", value="test")

我的后端是一个 MySql 数据库 v8.0.19。有什么建议可以解决吗?

编辑:数据库是这样创建的:

CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci;

编辑2:我尝试像下面这样重新创建数据库,但它仍然给出相同的警告:

CREATE DATABASE airflow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

标签: mysqlairflow

解决方案


好的,我没有赶上气流 1.10.x 需要 MySql 5.7。我更改了后端数据库,警告消失了。


推荐阅读