一千萬個為什麽

搜索

比較字符串以在Jinja2中獲得唯一值



我有一個帶有節點IP列表及其各自可用區的變量。

seed = {
  10.18.13.12 = us-east-1a
  10.18.37.93 = us-east-1b
  10.18.68.147 = us-east-1a
  10.18.21.55 = us-east-1b
}

我將在Jinja模板中使用這個變量,但想要根據獨特的可用性區域篩選出變量並獲取IP。我想比較可用性區域以獲得獨特的值,並從每個獨特的可用性區域獲取IP。例如我想要的形式輸出

"10.18.13.12, 10.18.37.93" 

要麽

"10.18.68.147, 10.18.21.55"

Is this possible to perf要麽m such operations of comparing strings and get its respective value in Jinja template? Anything would help. Thanks in advance.

轉載註明原文: 比較字符串以在Jinja2中獲得唯一值

一共有 1 個回答:

是的,這可以做到。以下應該做的訣竅:

"{%- for ip, az in seed.iteritems() %} 
  {%- if 'us-east-1a' in az %}
    {%- if firstloop is not defined %}
    {%- set firstloop = 1 %}
{{- ip }}
    {%- else %}
{{- " " + ip}}
    {%- endif %}    
  {%- endif %}
{%- endfor%}"

要使用 https://cryptic-cliffs-32040.herokuapp.com/ 進行測試,你可以使用下面的JSON:

{
    "seed": {
      "10.18.13.12": "us-east-1a",
      "10.18.37.93": "us-east-1b", 
      "10.18.68.147": "us-east-1a",
      "10.18.21.55": "us-east-1b"
    }
}

如果您要做大量的jinja模板,您可以閱讀文檔。 。我發現它是不可或缺的。