Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio

Dieser Schnellstart führt Sie durch die Schritte zum Erstellen einer Bicep-Datei mit Visual Studio. 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 das Autovervollständigen bereitstellt.

In Visual Studio Code wird auch eine ähnliche Dokumenterstellungsumgebung unterstützt. Siehe Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio Code

Voraussetzungen

Hinzufügen eines Ressourcenausschnitts

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

Visual Studio mit der Bicep-Erweiterung vereinfacht die Entwicklung durch die Bereitstellung vordefinierter Codeausschnitte. In dieser Schnellstartanleitung fügen Sie einen Codeausschnitt hinzu, mit dem ein virtuelles Netzwerk erstellt wird.

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

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

Tipp

Werden diese IntelliSense-Optionen in Visual Studio 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. Er wird in der Regel schnell gestartet, die IntelliSense-Optionen werden aber erst nach dem Start angezeigt.

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'
        }
      }
    ]
  }
}

Dieser Codeausschnitt enthält alle Werte, die Sie zum Definieren eines virtuellen Netzwerks benötigen. Sie können diesen Code jedoch an ihre Anforderungen anpassen. Beispielsweise ist name kein hervorragender Name für das virtuelle Netzwerk. Ändern Sie die name Eigenschaft in exampleVnet.

name: 'exampleVnet'

Beachten Sie, dass location rot unterringelt ist. Dies weist auf ein Problem hin. Zeigen Sie mit Ihrem Cursor auf location. Die Fehlermeldung lautet: Der Name „location“ ist im aktuellen Kontext nicht vorhanden. Wir erstellen im nächsten Abschnitt einen location-Parameter.

Hinzufügen von Parametern

Nun fügen wir zwei Parameter für den Namen des Speicherkontos und den Standort hinzu. Fügen Sie am Anfang der Datei Folgendes hinzu:

param storageName

Wenn Sie nach storageNameeinen Leerzeichen hinzufügen, beachten Sie, dass IntelliSense die Datentypen anbietet, die für den Parameter verfügbar sind. Wählen Sie Zeichenfolge aus.

Screenshot: Hinzufügen des Zeichenfolgentyps zum Parameter

Sie haben den folgenden Parameter:

param storageName string

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: Hinzufügen von Decorator-Elementen zum Parameter

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

@minLength(3)
@maxLength(24)
param storageName string

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 storageName string

Der Parameter für den Namen des Speicherkontos kann nun verwendet werden.

Fügen Sie einen weiteren Standortparameter hinzu:

param location string = resourceGroup().location

Ressource hinzufügen

Anstatt einen Codeausschnitt zum Definieren des Speicherkontos zu verwenden, verwenden wir IntelliSense, um die Werte festzulegen. IntelliSense vereinfacht diesen Schritt erheblich, anstatt die Werte manuell eingeben zu 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 Speicher 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 2021-09-01 oder die neueste API-Version aus. Wir empfehlen die Verwendung der neuesten API-Version.

Screenshot: Auswählen der API-Version als 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 exampleStorage 'Microsoft.Storage/storageAccounts@2021-09-01' = {
	name: 1
	location: 2
	sku: {
		name: 3
	}
	kind: 4
}

Es gibt vier Platzhalter im Code. Verwenden Sie die [TAB-TASTE], um sie durchzugehen, und geben Sie die Werte ein. Auch hier hilft Ihnen IntelliSense weiter. Legen Sie name auf storageName fest. Dabei handelt es sich um den Parameter, der einen Namen für das Speicherkonto enthält. Legen Sie hierfür location auf location fest. Beim Hinzufügen von einem SKU-Name und einer SKU-Art stellt IntelliSense die gültigen Optionen zur Verfügung.

Wenn Sie fertig sind, haben Sie:

@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 storageName string
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: storageName
  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 exampleStorage 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: storageName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

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

Bereitstellen der Bicep-Datei

Die Bereitstellung von Bicep-Dateien kann noch nicht über Visual Studio ausgeführt werden. Sie können die Bicep-Datei auch mithilfe der Azure CLI oder von Azure PowerShell bereitstellen:

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=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