【发布时间】:2018-03-02 17:11:19
【问题描述】:
在将Airflow 更新为1.9 后,所有变量都已加密创建。
是否可以禁用加密?
【问题讨论】:
-
禁用加密有什么进展吗?
在将Airflow 更新为1.9 后,所有变量都已加密创建。
是否可以禁用加密?
【问题讨论】:
1-Croods 方式....
from airflow.models import get_fernet
from airflow.models import Variable
var_to_decryp = Variable.get("var_name",deserialize_json=True)
fernet = get_fernet()
decryp_value = fernet.decrypt(bytes(var_to_decryp, 'utf-8')).decode()
2-正确的方法是使用变量模型中的 get_val():
def get_val(self):
log = LoggingMixin().log
if self._val and self.is_encrypted:
try:
fernet = get_fernet()
return fernet.decrypt(bytes(self._val, 'utf-8')).decode()
except InvalidFernetToken:
log.error("Can't decrypt _val for key={}, invalid token "
"or value".format(self.key))
return None
except Exception:
log.error("Can't decrypt _val for key={}, FERNET_KEY "
"configuration missing".format(self.key))
return None
else:
return self._val
但我不知道怎么做,那是家庭作业。
【讨论】: