【发布时间】:2020-06-30 11:35:18
【问题描述】:
我有一个 YAML 文件,其中包含我的应用程序的配置数据,每当应用程序运行以进行调试时,该文件都会转储到一个新文件中。不幸的是,YAML 文件中的某些键包含敏感数据,需要进行混淆处理或从转储文件中简单地排除。
示例 YAML 输入文件:
logging_config:
level: INFO
file_path: /path/to/log_file.log
database_access:
table_to_query: customer_table
database_api_key: XXX-XXX-XXX # Sensitive data, exclude from archived file
当然有解决方法:
- 在将密钥输出到 YAML 之前保留包含敏感数据和预处理 dicts 的密钥列表
- 在单独的配置文件中分离敏感和非敏感数据并仅输出后者
- 等
但我希望有一个类似于实现自定义 Loader 的解决方案,只要它出现在 dict 值中,它就会对 !keep_secret 之类的命令做出反应,因为它会使我的配置文件更具可读性。
【问题讨论】: