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].
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.
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.
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.
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 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 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.
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.
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.
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-05-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.
Um optionale Eigenschaften zusammen mit den erforderlichen Eigenschaften hinzuzufügen, platzieren Sie den Cursor an der gewünschten Position, und drücken Sie STRG+LEERTASTE. IntelliSense schlägt nicht verwendete Eigenschaften vor, wie im folgenden Screenshot gezeigt:
Wenn Sie fertig sind, verfügen Sie über Folgendes:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-03-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@2023-05-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.
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.
Bereitstellen der Bicep-Datei
Klicken Sie mit der rechten Maustaste in VS Code auf die Bicep-Datei, und wählen Sie dann Bicep-Datei bereitstellen aus.
Geben Sie im Textfeld Namen für das Bereitstellung eingeben die Zeichenfolge deployStorageAndVNet ein, und drücken Sie dann die [EINGABETASTE].
Wählen Sie im Listenfeld Ressourcengruppe auswählen oben die Option Neue Ressourcengruppe erstellen aus.
Geben Sie exampleRG als Ressourcengruppennamen ein, und drücken Sie dann die [EINGABETASTE].
Wählen Sie als Standort für die Ressourcengruppe USA, Mitte oder einen Standort Ihrer Wahl aus, und drücken Sie dann die [EINGABETASTE].
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 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
Weitere Informationen finden Sie in den Learn-Modulen zu Bicep.