首页 > 解决方案 > 在 YAML 文件中引用父项的键名?

问题描述

是否可以在 YAML 文件中引用父键的名称?

例如,如果我有以下 YAML 结构:

properties:
   ServicecA:
      storage: 100
   ServicecB:
      storage: 200

MyConfiguration:
   ServiceA:
      storage: ${self:properties.ServicecA.storage}
   ServiceB:
      storage: ${self:properties.ServiceB.storage}

我不太高兴我必须ServiceA再次ServiceB输入storage值。我想知道我是否真的可以将该部分引用为具有其父键名称的变量。像这样的东西:

properties:
   ServicecA:
      storage: 100
   ServicecB:
      storage: 200

MyConfiguration:
   ServiceA:
      storage: ${self:properties.${parent:keyName}.storage}
   ServiceB:
      storage: ${self:properties.${parent:keyName}.storage}

并且${parent:keyName}应该引用其父项的键名。

这在常规 YAML 文件中是否可行?

标签: node.jsyamlserverless-framework

解决方案


此功能需要能够检查结构中的当前路径。此外,它需要字符串操作,因为源键是ServiceA但目标键是ServicecA.

文档既没有提到检查当前路径的能力,也没有提到将其插入c给定字符串的任何功能。所以这似乎是不可能做到的。


推荐阅读