更新http_default连接气流

时间:2019-04-21 19:49:34

标签: airflow airflow-scheduler

在Airflow管理网站中

当我更新http_default连接时,http传感器显示以下错误:

错误-无法创建Fernet对象:错误的填充

回溯(最近通话最近):   get_fernet中的文件“ /usr/local/lib/python3.6/site-packages/airflow/models.py”,第173行     _fernet = Fernet(fernet_key.encode('utf-8'))    init 中的文件“ /usr/local/lib/python3.6/site-packages/cryptography/fernet.py”,第35行     键= base64.urlsafe_b64decode(键)   网址safesafe_b64decode中的文件“ /usr/local/lib/python3.6/base64.py”,第133行     返回b64decode   b64decode中的文件“ /usr/local/lib/python3.6/base64.py”,第87行     返回binascii.a2b_base64(s) binascii.Error:填充不正确

1 个答案:

答案 0 :(得分:0)

似乎您的$ FERNET_KEY没有设置。

  • 您可以检查echo $FERNET_KEY的输出吗?
  • 您还可以检查fernet_key =中的airflow.cfg项吗?

如果这些为空,则可以使用一些Python代码生成一个新的代码:

from cryptography.fernet import Fernet
print(Fernet.generate_key().decode())

然后在airflow.cfg下的fernet_key =中设置此值。
另外,您也可以通过export AIRFLOW__CORE__FERNET_KEY=your_fernet_key进行设置(如果您动态构建环境,则可以提供更大的灵活性)。

重要的注意事项
Fernet密钥用于加密连接的凭据,因此需要确保它安全,以便以后能够对其解密。如果您之前使用另一个Fernet密钥创建了一些连接,并且如上所述生成了一个新的连接,则旧的连接将不起作用,并且一旦将新密钥设置到位,就必须重新创建。