【问题标题】:Airflow encrypted variables气流加密变量
【发布时间】:2018-03-02 17:11:19
【问题描述】:

在将Airflow 更新为1.9 后,所有变量都已加密创建。

是否可以禁用加密?

【问题讨论】:

  • 禁用加密有什么进展吗?

标签: airflow airflow-scheduler


【解决方案1】:

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

但我不知道怎么做,那是家庭作业。

【讨论】:

  • 谢谢,但这并不能回答问题。
猜你喜欢
  • 1970-01-01
  • 2020-01-16
  • 2023-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多