Mit einer cleveren Idee und einem engagierten Team...

Read more

Im Szenario einer Ablösung vom BizTalk Server 2016...

Read more

Neben der herkömmlichen, vierjährigen Ausbildung...

Read more

Bei Datenübertragungen stossen wir teilweise an...

Read more

Durable Function ist eine Erweiterung der...

Read more

Wir haben eine gute, vor allem spannende und hoch...

Read more

Am 09.05.2022 wurde ein Artikel von Microsoft...

Read more

Neben den altbekannten Logic Apps (Consumption),...

Read more

Im Jahr 2022 fallen eine Reihe von .Net Versionen...

Read more

SAP in die Power Platform integrieren – In einem...

Read more

How-to: Bicep Templates

Bicep Templates benutzen eine deklarative Syntax mit Typisierung zum Deployen von Azure Ressourcen und können anstelle von JSON ARM-Templates verwendet werden. Dank der Möglichkeit, Module mit Parametern zu erstellen, sind diese Templates sehr flexibel und können in mehreren Projekten wiederverwendet werden. Sie können dann via az cli, Azure PowerShell und DevOps Pipelines deployed werden.

 

Vorteile von Bicep Templates zu ARM Templates

  • Verbesserte Syntax: Bicep Templates sind übersichtlicher und in der Regel kleiner / überschaubarer, die Syntax ist deklarativ und typisiert.
  • Module: Bicep Templates können in mehrere Module aufgeteilt werden, was bedeutet, dass jede Azure Ressource ein einzelnes Modul sein kann.
    Diese Module können dann in unterschiedlichen Projekten dank Parametern wiederverwendet werden.
  • Ressourcenabhängigkeiten: In ARM-Templates müssen Abhängigkeiten deklariert werden, Bicep erkennt, welche Ressourcen voneinander abhängig sind und deployed diese in korrekter Reihenfolge.
  • Support von allen Azure Ressourcen: Bicep unterstützt alle Ressourcen inklusive solcher, die noch in preview sind.

Installation

Um mit Bicep arbeiten zu können, ist es sinnvoll VS Code mit der Bicep Extension zu installieren, dadurch ist Syntax Highlighting möglich.

Für das lokale Deployment kann entweder Azure Powershell oder az cli verwendet werden, bei az cli gilt zu berücksichtigen, dass weiterhin Bicep installiert werden muss, dies ist mit folgendem Befehl möglich:


Erstellen eines Bicep Templates

Ein Bicep Template wird mit der Dateiendung .bicep erstellt. Nachfolgend werden die einzelnen Teile erklärt und mit Beispielen aufgezeigt.

Parameter

Wie bei dem ARM Template, können auch in Bicep Parameter deklariert und Standardwerte gesetzt werden. In dem folgenden Beispiel wird der environment Typ als Parameter erstellt, diesem wird der Standardwert 'dev' zugewiesen, sodass bei Nichtangeben des Parameters dieser Wert benutzt wird:

 paramenvironmentTypestring = 'dev'

Mit @allowed kann angegeben werden, welche Werte für den Parameter gesetzt werden dürfen:

Variablen

Variablen können beispielsweise anhand von Parametern oder sonstiger Logik gesetzt werden, hier ein Beispiel, um anhand des obigen environmentType, den SKU Namen je nach Environment anzupassen:

Erstellen einer Azure Ressource

Eine Ressource wird wie folgt erstellt:
resource <RESSOURCENNAME> 'RESSOURCEN-TYP' {}

Der Ressourcenname kann selbst gewählt werden, VS Code zeigt dank der Bicep Extension alle verfügbaren Azure Ressourcen an:

Innerhalb der geschweiften Klammern werden dann die benötigten Werte angegeben, wieder hilft hier VS Code beim Anzeigen der möglichen Optionen:

Weiterhin wird ein Fehler angezeigt, falls Pflichtfelder nicht gesetzt sind:

Hier ein Beispiel zu einem Storage Account, welches einen Parameter mit der Location der Ressourcengruppe benutzt:

Erstellen eines Modules

Ein grosser Vorteil von Bicep Templates ist das Erstellen von Modulen, sprich anstelle eines einzelnen riesigen Files mit allen Ressourcen, können diese in eigene Files ausgelagert werden.
Ein Modul wird dabei genau wie vorher erstellt, es können Parameter, Variablen und Ressourcen gesetzt werden.

Nehmen wir an, der vorherig erstellte Storage Account soll in ein separates File, da mehrere Storage Accounts mit unterschiedlichen Namen und Locations erstellt werden sollen, dann würde das wie folgt aussehen:

Um ein Modul nun in dem eigentlichen Main-File einzufügen, wird dies mit "module" gekennzeichnet, bei den mitzugebenden Parametern unterstützt die Syntaxerkennung von VS Code:

Deployment

Das Deployment von Bicep Templates ist via az cli, Azure PowerShell und DevOps Pipeline möglich. Beim lokalen Deployment muss sich der Benutzer wie bei ARM Templates vorher auf Azure anmelden.

Es folgt ein Beispiel mit dem az cli und Azure PowerShell:

az cli:

Azure PowerShell:Dieser quiTeq-Tipp kommt von Patrick Hettich, QUIBIQ Schweiz. 

© QUIBIQ GmbH · Imprint · Data protection