2017-03-02 209 views
-4

我需要使用YAML變量來命名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 

我之所以想爲一個關鍵的變量名是因爲,我會閱讀從不同的文件的密鑰。我如何使用變量來命名我的索引名稱?

+0

你控制文件的加載和分析? – Anthony

+0

@Anthony沒有控制完成,只是簡單地閱讀文件。 – electronicsalim

+1

你的問題是什麼? – sawa

回答

2

是,您可以:

#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 
+0

這是在另一個不包含在這裏的文件中定義的。讓我們專注於如何使用變量進行關鍵命名@coil – electronicsalim

+0

問題是什麼? – COil

+0

@electronicsalim你的回答是神祕的解釋你的問題,否則這個解決方案似乎是正確的。 – sakhunzai