在Airflow中,Fernet密钥是一种用于加密和解密敏感信息的机制。当使用Airflow时,经常需要通过轮换Fernet密钥来保持数据的安全性。但是,在进行Fernet密钥轮换时,可能会遇到"InvalidToken"错误。
下面是解决此错误的步骤:
停止Airflow Web服务器和调度程序以确保任何正在运行的任务不会产生任何问题。
使用以下Python代码片段生成新的Fernet密钥:
from cryptography.fernet import Fernet fernet_key = Fernet.generate_key().decode()
将新的Fernet密钥复制到Airflow配置文件中的"fernet_key"变量中。
从Airflow元数据库中删除旧的密钥:
python3 -m airflow db reset -y
python3 -m airflow db init
python3 -m airflow create_token
这样,您应该不再遇到"InvalidToken"错误,且可以继续使用Airflow任务。