首页 > 解决方案 > YAML 配置将一个属性值替换为另一个属性值

问题描述

我想知道是否可以将一个值的值替换为另一个值,例如:

booking:    
    services:
      dans:
        PRIVATE_KEY: MIIEowIBAAKCAQEAr8nAQCQZ8hL0up8LzItKrBwIWhvbFgTtVEHjQIJ0Yw/F3u82         
      mode:
         PRIVATE_KEY: {booking.services.dans.PRIVATE_KEY}

标签: yaml

解决方案


您可以使用锚点和别名:

booking:    
    services:
      dans:
        PRIVATE_KEY: &a
          MIIEowIBAAKCAQEAr8nAQCQZ8hL0up8LzItKrBwIWhvbFgTtVEHjQIJ0Yw/F3u82         
      mode:
         PRIVATE_KEY: *a

这不是替代品,而是参考;两个PRIVATE_KEY键将链接到相同的值。

YAML 不提供通过某种路径引用其他值的方法。请注意,{}在 YAML 中确实有特殊含义;他们创建流映射。你写的相当于这个:

booking:    
    services:
      dans:
        PRIVATE_KEY: MIIEowIBAAKCAQEAr8nAQCQZ8hL0up8LzItKrBwIWhvbFgTtVEHjQIJ0Yw/F3u82         
      mode:
         PRIVATE_KEY:
             booking.services.dans.PRIVATE_KEY:

推荐阅读