Freigeben über


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 durch Typsicherheit, Syntaxvalidierung und automatische Vervollständigung die Entwicklung vereinfacht.

Visual Studio unterstützt eine ähnliche Umgebung zur Dokumenterstellung. 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. Nach Abschluss dieser Schritte sind Visual Studio Code und die Bicep-Erweiterung installiert. Außerdem benötigen Sie die aktuelle Azure CLI-Version oder das neueste Azure PowerShell-Modul.

Hinzufügen eines Ressourcenausschnitts

Visual Studio Code mit der Bicep-Erweiterung vereinfacht mit vordefinierten Codeschnipseln die Entwicklung. 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 res-vnet aus der Liste aus, und drücken Sie dann die TABTASTE oder die EINGABETASTE.

Screenshot: Hinzufügen eines Codeausschnitts für ein virtuelles Netzwerk

Tipp

Werden diese IntelliSense-Optionen in Visual Studio 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, und die IntelliSense-Optionen werden 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. Der Bicep-Linter überprüft Bicep-Dateien auf Syntaxfehler und Verstöße gegen bewährte Methoden. Zeigen Sie mit dem Mauszeiger auf @2019-11-01. Es wird ein Popupbereich mit Verwenden einer neueren API-Version für ‚Microsoft.Network/virtualNetworks‘ angezeigt. Wählen Sie im Popupbereich Schnelle Problembehebung und dann Ersetzen durch 2024-05-01 aus, um die API-Version zu aktualisieren.

Alternativ können Sie @2019-11-01 entfernen und durch @ ersetzen. Wählen Sie die neueste API-Version aus.

Screenshot: Aktualisieren der API-Version.

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

Sie können diesen Code auch an Ihre Anforderungen anpassen. Da beispielsweise name kein eindeutiger Name für das virtuelle Netzwerk ist, können Sie die Eigenschaft name in exampleVnet ändern:

name: 'exampleVNet'

Hinzufügen eines Parameters

Dem Codeschnipsel, den Sie im letzten Abschnitt hinzugefügt haben, fehlt eine Parameterdefinition, location, wie durch die rote Wellenlinie gezeigt wird. 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: Hinzufügen des Zeichenfolgentyps zum Parameter

Weisen Sie dem Parameter einen Standardwert zu:

param location string = resourceGroup().location

In der vorherigen Zeile wird der Speicherort der Ressourcengruppe der virtuellen Netzwerkressource zugewiesen. Weitere Informationen zur im Standardwert verwendeten Funktion finden Sie unter resourceGroup().

Fügen Sie oben in der Datei einen weiteren Parameter mit einem Standardwert für den Namen des Speicherkontos hinzu, das Sie später im Schnellstart erstellen:

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 mindestens 3 und darf höchstens 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: Hinzufügen von Decorator-Elementen zum Parameter

Fügen Sie beide Decorator-Elemente hinzu, und geben Sie die Zeichengrenzwerte an (z. B. 3 und 24 unten):

@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 Personen, die die Bicep-Datei bereitstellen, helfen, den anzugebenden Wert zu verstehen:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase 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 storageAccount ein:

resource storageAccount

storageAccount 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: Auswählen von Speicherkonten als Ressourcentyp

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-05-01.

Screenshot: Auswählen der API-Version für den Ressourcentyp.

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: Hinzufügen der erforderlichen Eigenschaften

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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Sie sind fast fertig. Als Nächstes müssen Sie Werte für diese Eigenschaften angeben.

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.

Um optionale Eigenschaften zusammen mit den erforderlichen Eigenschaften hinzuzufügen, platzieren Sie den Cursor an der gewünschten Position, und drücken Sie STRG+LEER. Der folgende Screenshot zeigt, wie IntelliSense verfügbare Eigenschaften vorschlägt:

Screenshot: Hinzufügen von zusätzlichen Eigenschaften.

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

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

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: 'exampleVNet'
  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'
        }
      }
    ]
  }
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Weitere Informationen zur Bicep-Syntax finden Sie unter Struktur und Syntax von Bicep-Dateien.

Visualisieren von Ressourcen

Bicep Visualizer zeigt Ihnen eine grafische Darstellung der Ressourcen in Ihrer Datei.

Wählen Sie oben rechts die Schaltfläche „Bicep Visualizer“ aus, um das Tool zu öffnen:

Screenshot des Tools Bicep Visualizer

Dieser Visualizer zeigt die in der Bicep-Datei definierten Ressourcen und die Connectors zwischen ihren Abhängigkeiten. Da die beiden in diesem Schnellstart definierten Ressourcen keine Abhängigkeitsbeziehung aufweisen, ist kein Connector zwischen ihnen vorhanden:

Screenshot: Diagramm von Bicep Visualizer.

Bereitstellen der Bicep-Datei

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

    Screenshot der Option „Bicep-Datei bereitstellen“

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

    Screenshot der Eingabe des Bereitstellungsnamens

  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 Ort für die Ressourcengruppe USA, Mitte oder einen Ort Ihrer Wahl aus, und drücken Sie dann die EINGABETASTE.

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

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 auch die Azure CLI oder Azure PowerShell zum Bereitstellen der Bicep-Datei verwenden:

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 erscheint eine Meldung mit dem Hinweis, 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

Weitere Informationen finden Sie in den Learn-Modulen zu Bicep.