Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio Code

Dieser Schnellstart führt Sie durch die Schritte zum Erstellen einer Bicep-Datei mit Visual Studio Code. Sie erstellen ein Speicherkonto und ein virtuelles Netzwerk. Außerdem erfahren Sie, wie die Bicep-Erweiterung die Entwicklung vereinfacht, indem Sie die Typsicherheit, Syntaxvalidierung und AutoVervollständigen bereitstellt.

In Visual Studio wird auch eine ähnliche Erstellungsumgebung unterstützt. Weitere Informationen finden Sie unter Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio.

Voraussetzungen

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Informationen zum Einrichten Ihrer Umgebung für die Bicep-Entwicklung finden Sie unter Installieren von Bicep-Tools. Nachdem Sie diese Schritte abgeschlossen haben, verfügen Sie über Visual Studio Code und die Bicep-Erweiterung. Außerdem müssen Sie die neueste Version der Azure CLI oder das neueste Azure PowerShell-Modul besitzen.

Hinzufügen eines Ressourcenausschnitts

VS Code mit Bicep-Erweiterung vereinfacht die Entwicklung durch die Bereitstellung vordefinierter Codeschnipsel. In diesem Schnellstart fügen Sie einen Codeschnipsel hinzu, mit dem ein virtuelles Netzwerk erstellt wird.

Starten Sie Visual Studio Code und erstellen Sie eine neue Datei mit dem Namen main.bicep.

Geben Sie in main.bicep die Zeichenfolge vnet ein, wählen Sie dann res-vnet aus der Liste aus, und drücken Sie dann die [TAB-] oder [EINGABETASTE].

Screenshot of adding snippet for virtual network.

Tipp

Werden diese IntelliSense-Optionen in VS Code nicht angezeigt, vergewissern Sie sich, dass Sie die Bicep-Erweiterung wie unter Voraussetzungen angegeben installiert haben. Wenn Sie die Erweiterung installiert haben, warten Sie nach dem Öffnen der Bicep-Datei einige Zeit, bis der Bicep-Sprachdienst gestartet wird. Der Start erfolgt in der Regel schnell, die IntelliSense-Optionen werden aber erst nach dem Start angezeigt. Eine Benachrichtigung in der unteren rechten Ecke gibt an, dass der Dienst gestartet wird. Wenn diese Benachrichtigung nicht mehr angezeigt wird, wird der Dienst ausgeführt.

Ihre Bicep-Datei enthält nun den folgenden Code:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'name'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

In diesem Codeschnipsel finden Sie alle erforderlichen Werte zum Definieren eines virtuellen Netzwerks. Möglicherweise bemerken Sie zwei Wellenlinien als Unterstreichungen. Eine gelbe Wellenlinie zeigt eine Warnung im Zusammenhang mit einer veralteten API-Version an, während eine rote Wellenlinie einen Fehler durch eine fehlende Parameterdefinition signalisiert.

Entfernen Sie @2019-11-01, und ersetzen Sie es durch @. Wählen Sie die neueste API-Version aus.

Screenshot of updating API version.

Sie korrigieren den Fehler durch die fehlende Parameterdefinition im nächsten Abschnitt.

Sie können diesen Code auch an Ihre Anforderungen anpassen. Beispielsweise ist name kein hervorragender Name für das virtuelle Netzwerk. Ändern Sie die name Eigenschaft in examplevnet.

name: 'exampleVNet'

Hinzufügen eines Parameters

Im Codeschnipsel, den Sie im letzten Abschnitt hinzugefügt haben, fehlt eine Parameterdefinition.

Fügen Sie oben in der Datei Folgendes hinzu:

param location

Wenn Sie nach location ein Leerzeichen einfügen, schlägt IntelliSense die Datentypen vor, die für den Parameter verfügbar sind. Wählen Sie Zeichenfolge aus.

Screenshot of adding string type to parameter.

Weisen Sie dem Parameter einen Standardwert zu:

param location string = resourceGroup().location

Weitere Informationen zur im Standardwert verwendeten Funktion finden Sie unter resourceGroup().

Fügen Sie einen weiteren Parameter für den Namen des Speicherkontos mit einem Standardwert hinzu:

param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Weitere Informationen finden Sie unter Interpolation und uniqueString().

Dieser Parameter funktioniert einwandfrei, aber für die Speicherkonten gelten Grenzwerte für die Länge des Namens. Der Name muss mindesten 3 und darf höchsten 24 Zeichen lang sein. Sie können diese Anforderungen angeben, indem Sie dem Parameter Decorator-Elemente hinzufügen.

Fügen Sie eine Zeile über dem Parameter hinzu, und geben Sie @ ein. Die verfügbaren Decorators werden ihnen angezeigt. Beachten Sie, dass Decorator-Elemente sowohl für minLength als auch für maxLength verfügbar sind.

Screenshot of adding decorators to parameter.

Fügen Sie beide Decorator-Elemente hinzu, und geben Sie die Zeichengrenzwerte an:

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Sie können auch eine Beschreibung für den Parameter hinzufügen. Fügen Sie Informationen ein, die es Personen, die die Bicep-Datei bereitstellen, helfen, den bereitzustellenden Wert zu verstehen.

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Ihre Parameter sind einsatzbereit.

Ressource hinzufügen

Anstatt einen Codeschnipsel zum Definieren des Speicherkontos zu verwenden, nutzen Sie IntelliSense, um die Werte festzulegen. IntelliSense vereinfacht diesen Schritt erheblich, da Sie die Werte nicht manuell eingeben müssen.

Verwenden Sie das Schlüsselwort resource, um eine bereitzustellende Ressource zu definieren. Geben Sie unterhalb Ihres virtuellen Netzwerks resource exampleStorage ein:

resource exampleStorage

exampleStorage ist ein symbolischer Name für die Ressource, die Sie bereitstellen. Sie können diesen Namen verwenden, um in anderen Teilen der Bicep-Datei auf die Ressource zu verweisen.

Wenn Sie nach dem symbolischen Namen ein Leerzeichen hinzufügen, wird eine Liste der Ressourcentypen angezeigt. Fahren Sie mit der Eingabe des Worts Speicherkonto fort, bis Sie ihn aus den verfügbaren Optionen auswählen können.

Screenshot of selecting storage accounts for resource type.

Nachdem Sie Microsoft.Storage/storageAccountsausgewählt haben, werden Ihnen die verfügbaren API-Versionen angezeigt. Wählen Sie die aktuelle Version aus. Im folgenden Screenshot ist dies 2023-01-01.

Screenshot of select API version for resource type.

Fügen Sie nach dem einfachen Anführungszeichen für den Ressourcentyp = und ein Leerzeichen hinzu. Ihnen werden Optionen zum Hinzufügen von Eigenschaften zu der Ressource angezeigt. Wählen Sie dieerforderlichen Eigenschaften aus.

Screenshot of adding required properties.

Diese Option fügt alle Eigenschaften für den Ressourcentyp hinzu, die für die Bereitstellung erforderlich sind. Nachdem Sie diese Option ausgewählt haben, verfügt Ihr Speicherkonto über die folgenden Eigenschaften:

resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-01-01' =  {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Sie haben es fast geschafft! Geben Sie einfach Werte für diese Eigenschaften an.

Auch hier hilft Ihnen IntelliSense weiter. Legen Sie name auf storageAccountName fest, der der Parameter ist, der einen Namen für das Speicherkonto enthält. Legen Sie location auf location fest. Dies ist ein Parameter, den Sie zuvor erstellt haben. Beim Hinzufügen von sku.name und kind schlägt IntelliSense die gültigen Optionen vor.

Wenn Sie fertig sind, verfügen Sie über Folgendes:

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'exampleVNet'
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

resource exampleStorage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: storageAccountName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Weitere Informationen zur Bicep-Syntax finden Sie unter Bicep-Struktur.

Visualisieren von Ressourcen

Sie können eine Darstellung der Ressourcen in Ihrer Datei anzeigen.

Wählen Sie in der rechten oberen Ecke die Schnellansichtsschaltfläche aus, um die Bicep-Schnellansicht zu öffnen.

Screenshot of Bicep Visualizer.

Die Schnellansicht zeigt die in der Bicep-Datei definierten Ressourcen mit den Informationen zur Ressourcenabhängigkeit an. Da die beiden in dieser Schnellstartanleitung definierten Ressourcen keine Abhängigkeitsbeziehung haben, wird kein Connector zwischen den beiden Ressourcen angezeigt.

Screenshot of Bicep Visualizer diagram.

Bereitstellen der Bicep-Datei

  1. Klicken Sie mit der rechten Maustaste in VS Code auf die Bicep-Datei, und wählen Sie dann Bicep-Datei bereitstellen aus.

    Screenshot of Deploy Bicep file.

  2. Geben Sie im Textfeld Namen für das Bereitstellung eingeben die Zeichenfolge deployStorageAndVNet ein, und drücken Sie dann die [EINGABETASTE].

  3. Wählen Sie im Listenfeld Ressourcengruppe auswählen oben die Option Neue Ressourcengruppe erstellen aus.

  4. Geben Sie exampleRG als Ressourcengruppennamen ein, und drücken Sie dann die [EINGABETASTE].

  5. Wählen Sie als Standort für die Ressourcengruppe USA, Mitte oder einen Standort Ihrer Wahl aus, und drücken Sie dann die [EINGABETASTE].

  6. Wählen Sie unter Parameterdatei auswählen die Option Keine aus.

    Screenshot of Select parameter file.

Es dauert einen Moment, bis die Ressourcen erstellt werden. Weitere Informationen finden Sie unter Bereitstellen von Bicep-Dateien aus Visual Studio Code.

Sie können die Bicep-Datei auch mithilfe von Azure CLI oder Azure PowerShell bereitstellen:

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename

Nach Abschluss der Bereitstellung sollte eine Meldung mit dem Hinweis angezeigt werden, dass die Bereitstellung erfolgreich war.

Bereinigen von Ressourcen

Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe der Schnellstartanleitung mithilfe der Azure-Befehlszeilenschnittstelle oder des Azure PowerShell-Moduls.

az group delete --name exampleRG

Nächste Schritte