2017-03-02 1 views
-4

Ich muss eine YAML-Variable verwenden, um einen YAML-Schlüssel zu benennen. Ich habe dies versucht, aber yaml Validator beklagt, dass sein nicht gültig YAMLVerwenden Sie YAML-Variablen, um Schlüssel zu benennen

#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 

Der Grund, warum ich für einen Schlüssel ein Variablenname will, ist, weil, werde ich den Schlüssel aus einer anderen Datei lesen. Wie kann ich meine Indexnamen mit Variablen benennen?

+0

Kontrollieren Sie das Laden und Parsing der Datei? – Anthony

+0

@Anthony Keine Kontrolle ist getan, ich lese einfach die Datei. – electronicsalim

+1

Was ist Ihre Frage? – sawa

Antwort

2

Ja, Sie können:

#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 

Wo die index1 var in Ihrem parameters.yml oder config.yml Dateien definiert ist. (oder irgendein Parameterabschnitt Ihrer geladenen YAML-Dateien)

parameters: 
    index1: my_main_app_es_index_name 
+0

Das ist in einer anderen Datei definiert, die ich hier nicht aufgenommen habe. Lassen Sie uns konzentrieren, wie ich Variablen für die Schlüsselbenennung verwenden kann @ Coil – electronicsalim

+0

Und was ist das Problem? – COil

+0

@electronicsalim Ihre Antwort ist kryptisch erklären Sie Ihr Problem, sonst scheint diese Lösung richtig. – sakhunzai

Verwandte Themen