小智 1
1、克鲁兹的方式……
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()
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么做,那是家庭作业。
| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |