Wie funktionieren Ansible -Filter??

Wie funktionieren Ansible -Filter??
Einer der wichtigsten Teile aller Framework- oder Verwaltungssoftware ist die Art und Weise, wie sie Daten behandeln und verarbeitet. In Anbetracht der Richtung, in die die Welt der Informationstechnologie führt, ist es fair zu sagen, dass Daten König sind. Täglich werden große Datenmengen generiert, um für verschiedene Zwecke verwendet zu werden. Das Datenmanagement und die Verarbeitung sehr wichtig.

Software wie Ansible ist erforderlich, um große Datenmengen zu bewältigen. Wenn Sie sich die Erleichterungen ansehen, die diese Arten von Anwendungen bereitstellen sollen, müssen ihre Datenverarbeitungsfunktionen erstklassig sein.

Wann immer wir Daten in Ansible verarbeiten, formatieren oder manipulieren müssen, verwenden wir Filter. Es sind zwei Filtersätze in Ansible verfügbar. Ein Satz ist die Jinja2-Vorlagenfilter, und das andere ist von den von Benutzern hergestellten benutzerdefinierten Filter.

Im Hintergrund stammen jedoch alle Filter aus der Jinja2 -Vorlage, die so funktioniert, dass die Daten, die in die Filter eingegeben werden.

Ein weiterer wichtiger Punkt ist, dass alle Filter lokal angewendet werden, was bedeutet, dass keine Filterung mit Remote -Hosts durchgeführt werden kann. Die gesamte Manipulation und Verarbeitung finden also auf der Ansible Control Machine statt.

Wenn Sie über die in STIBIBLE verfügbaren Filter und die Art und Weise, wie sie verwendet werden System zu.

Wie funktionieren Filter??

Die Arbeit hinter Datenfiltern ist einfach. Sie geben vorentwickelte Filter einige Daten oder Informationen als Eingabe an. Der Filter analysiert die Daten gemäß den im Spielbuch angegebenen Befehle und den von Ihnen festgelegten Bedingungen. Nachdem die Daten analysiert wurden, erhalten Sie die von Ihnen gewünschte angepasste Ausgabe aus den Daten.

Verschiedene Arten von Filtern führen unterschiedliche Filterarten auf den Daten aus. Wie bereits erwähnt, arbeiten alle auf der Jinja2 -Vorlage basierend und es gibt eine Liste aller Filter. Sie können diese Liste sehen, indem Sie auf diesen Link klicken.

Es gibt zahlreiche Vorteile bei der Verwendung von Filtern, da sie die Fähigkeiten von Ansible erheblich verbessern. Sie können in bestimmten Fällen auch Filter zum Debuggen verwenden.

So implementieren Sie Filter in Ansible?

Die grundlegende Syntax eines Ansible -Filters ist gegeben durch:

|

Ein weiterer wichtiger Punkt ist, dass die Datenumwandlung im Hintergrund mit Python durchgeführt wird. Wenn bei Python eine bestimmte Art von Vorlage nicht verfügbar ist, gibt der Filter möglicherweise nicht die richtige Ausgabe. Sie müssen also vorsichtig sein, während Sie einige Filter verwenden.

Bis jetzt haben Sie die Grundlagen von Ansible -Filtern gelernt. Um weitere Fragen zu klären, werfen wir einen Blick auf einige Beispiele für Filterung und verschiedene Arten von Filtern.

Beispiele

- Name: Generieren Sie mehrere beliebige Hostnamen
Ansible.gebaut.debuggen:
msg: "['abc', 'xyz'] | product (['com']) | map ('join', ''.') | verbinden(',') "

Außerdem möchten wir hier erwähnen, dass der folgende Befehl mit dem Linux -Terminal ausgeführt werden müsste, um ein Spielbuch auszuführen:

Ansible-Playbook-Testbuch.YML

In diesem Beispiel haben wir den „Produkt“ -Filter verwendet. Der Produktfilter wird zur Implementierung der kartesischen Multiplikation verwendet. Der „Produkt“ -Filter ist ein gewisses Analogon der Verwendung für Schleifen in herkömmlichen Programmiersprachen. Die Ausgabe, die Sie erhalten, indem Sie einen solchen Code ausführen.

"msg": "ABC.com, xyz.com "

So können Sie Kombinationen für Sätze von zwei Zahlen erhalten.

- Name: Geben Sie mir Kombinationen für Sets von zwei
Ansible.gebaut.debuggen:
msg: "[10,20,30,40,50] | Ansible.gebaut.Kombinationen (2) | Liste "

Wir haben den „Kombinationsfilter“ verwendet, um Kombinationen von zwei Zahlen aus einem bestimmten Satz zu erhalten. Die in den Klammern angegebenen 2 weisen an, Kombinationen von 2 zu erstellen, und das Schlüsselwort „List“ gibt Ihnen die Ausgabe in Form einer Liste.

- Name: größte Permutationen (Auftragsangelegenheiten)
Ansible.gebaut.debuggen:
msg: "[0,2,4,6,8] | Ansible.gebaut.Permutationen | Liste "
- Name: Permutationen von drei Sätzen von drei
Ansible.gebaut.debuggen:
msg: "[1,3,5,7,9] | Ansible.gebaut.Permutationen (3) | Liste "

Es gibt auch die Bereitstellung eines „Permutations“ -Filters. Dieser Filter gibt uns Permutationen eines bestimmten Satzes von Variablen oder Daten. Im obigen Beispiel erhalten wir die größten Permutationen aus dem geraden Zahlensatz und Permutationen von drei Sätzen von drei Zahlen.

"['A', 'B', 'C'] | Random"

In diesem Beispiel wird der „Zufalls“ -Filter verwendet, um eine Zufallszahl aus einem bestimmten Datensatz zu generieren.

51 | random (Schritt = 10)

In diesem Beispiel wurde auch der „zufällige“ Filter verwendet, um eine Zufallszahl zwischen 0 und 50 zu generieren. Wir haben auch die Bedingung gegeben, dass die Schrittgröße 10 betragen sollte. Die Ausgabe, die Sie erhalten, ist eine Zahl, die ein Vielfaches von 10 ist.

['a', 'b', 'c', 'd', 'e'] | Mischen

Der "Shuffle" -Filter kann verwendet werden.

'val': 1, 'val': 2, 'val': 3, 'val': 4] | min (Attribute = 'val')

Schließlich haben wir den "min" -Filter verwendet, der die beiden Eingangsnummern, die wir als Eingabe angegeben haben.

'val': 1, 'val': 2] | Max (Attribute = 'Val')

In ähnlicher Weise verwenden wir hier den „maximalen“ Filter, um die maximale Zahl aus einem bestimmten Datensatz zu erhalten.

Dies waren also die Beispiele für einige der Filter, die in Ansible verfügbar sind. Es gibt viele andere Filter, die Sie verarbeiten und formatieren können.

Abschluss

In diesem Artikel haben wir uns Ansible -Filter angesehen. Wir haben festgestellt, warum wir Filter in der Datenanalyse benötigen und einige Filter angesehen haben, die vom Plug-In bereitgestellt wurden. Wir hoffen, dass wir Ihnen helfen konnten, zu verstehen, warum Filter wichtig sind, und vor allem verstehen Sie jetzt, wie Sie sie zu Ihrem Vorteil verwenden können. Fühlen Sie sich frei, Fragen im Kommentarbereich zu geben.