使用 YAML 变量命名键

Use YAML variables to name keys

我需要使用 YAML 变量来命名 YAML 密钥。 我已经试过了,但是 yaml 验证器抱怨它是无效的 YAML

#Elastic search configuration
variable_key: &variable_key_name vodacom_salimdev_local
fos_elastica:
   clients:
       default:
           host: %fos_elastica_host%
           port: %fos_elastica_port%
           logger: false
           headers: { Authorization: some_security_token }
   indexes:
       *variable_key_name:
           client: default
           settings:
                index:
                 analysis:
                   analyzer:
                     custom_analyzer :
                       type     :    custom

我想要密钥的变量名的原因是,我将从另一个文件中读取密钥。我如何使用变量命名我的索引名称?

是的,你可以:

#Elastic search configuration
variable_key: &variable_key_name vodacom_salimdev_local
fos_elastica:
   clients:
       default:
           host: %fos_elastica_host%
           port: %fos_elastica_port%
           logger: false
           headers: { Authorization: some_security_token }
   indexes:
       %index1%:
           client: default
           settings:
                index:
                 analysis:
                   analyzer:
                     custom_analyzer :
                       type     :    custom

其中 index1 var 在您的 parameters.ymlconfig.yml 文件中定义。 (或您加载的 YAML 文件的任何参数部分)

parameters:
    index1: my_main_app_es_index_name