Quickstart: Bicep-bestanden maken met Visual Studio Code

In deze quickstart wordt u begeleid bij de stappen voor het maken van een Bicep-bestand met Visual Studio Code. U maakt een opslagaccount en een virtueel netwerk. U leert ook hoe de Bicep-extensie de ontwikkeling vereenvoudigt door type veiligheid, syntaxisvalidatie en automatisch aanvullen te bieden.

Vereisten

Als u geen abonnement op Azure hebt, maakt u een gratis account voordat u begint.

Zie Bicep-hulpprogramma's installeren om uw omgeving in te stellen voor Bicep-ontwikkeling. Nadat u deze stappen hebt doorlopen, hebt u Visual Studio Code en de Bicep-extensie. U hebt ook de nieuwste Azure CLI of de meest recente Azure PowerShell module.

Resourcefragment toevoegen

Start Visual Studio Code en maak een nieuw bestand met de naam main.bicep.

VS Code met de Bicep-extensie vereenvoudigt de ontwikkeling door vooraf gedefinieerde fragmenten te bieden. In deze quickstart voegt u een fragment toe dat een virtueel netwerk maakt.

In main.bicep typt u vnet. Selecteer res-vnet in de lijst en vervolgens Tab of Enter.

Fragment voor virtueel netwerk toevoegen

Tip

Als u deze IntelliSense-opties niet ziet in VS Code, moet u ervoor zorgen dat u de Bicep-extensie hebt geïnstalleerd zoals is opgegeven in Vereisten. Als u de extensie hebt geïnstalleerd, geeft u de Bicep-taalservice enige tijd om te starten nadat u het Bicep-bestand hebt geopend. Het begint meestal snel, maar u hebt geen IntelliSense-opties totdat deze wordt gestart. Een melding in de rechterbenedenhoek geeft aan dat de service wordt starten. Wanneer deze melding verdwijnt, wordt de service uitgevoerd.

Uw Bicep-bestand bevat nu de volgende code:

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

Dit fragment bevat alle waarden die u nodig hebt om een virtueel netwerk te definiëren. U kunt deze code echter wijzigen om te voldoen aan uw vereisten. Is bijvoorbeeld name geen goede naam voor het virtuele netwerk. Wijzig de name eigenschap in examplevnet .

name: 'examplevnet'

U kunt dit Bicep-bestand implementeren, maar we voegen een parameter en opslagaccount toe voordat u implementeert.

Parameter toevoegen

Nu voegen we een parameter toe voor de naam van het opslagaccount. Voeg bovenaan het bestand het volgende toe:

param storageName

Wanneer u een spatie toevoegt na storageName, ziet u dat IntelliSense de gegevenstypen biedt die beschikbaar zijn voor de parameter . Selecteer tekenreeks.

Tekenreekstype toevoegen aan parameter

U hebt de volgende parameter:

param storageName string

Deze parameter werkt prima, maar opslagaccounts hebben limieten voor de lengte van de naam. De naam mag niet langer zijn dan 3 tekens en mag niet langer zijn dan 24 tekens. U kunt deze vereisten opgeven door toevoeging van nieuwe gebruikers aan de parameter .

Voeg een regel toe boven de parameter en typ @ . U ziet de beschikbare aandelers. U ziet dat er aanwerkers zijn voor zowel minLength als maxLength.

Vervoegers toevoegen aan parameter

Voeg beide voortekens toe en geef de tekenlimieten op, zoals hieronder wordt weergegeven:

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

U kunt ook een beschrijving voor de parameter toevoegen. Neem informatie op die mensen helpt bij het implementeren van het Bicep-bestand om inzicht te krijgen in de waarde die moet worden gegeven.

@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

Uw parameter is gereed voor gebruik.

Resource toevoegen

In plaats van een fragment te gebruiken om het opslagaccount te definiëren, gebruiken we intellisense om de waarden in te stellen. IntelliSense maakt deze stap veel eenvoudiger dan het handmatig typen van de waarden.

Gebruik het trefwoord om een resource te resource definiëren. Typ onder het virtuele netwerk resourcevoorbeeldOpslag:

resource exampleStorage

exampleStorage is een symbolische naam voor de resource die u implementeert. U kunt deze naam gebruiken om te verwijzen naar de resource in andere delen van uw Bicep-bestand.

Wanneer u een spatie achter de symbolische naam toevoegt, wordt een lijst met resourcetypen weergegeven. Ga door met het typen van opslag totdat u deze kunt selecteren in de beschikbare opties.

Opslagaccounts selecteren als resourcetype

Nadat u Microsoft.Storage /storageAccounts: de beschikbare API-versies worden weergegeven. Selecteer 2021-02-01.

API-versie selecteren als resourcetype

Voeg na de enkele aangave voor het resourcetype en = een spatie toe. Er worden opties weergegeven voor het toevoegen van eigenschappen aan de resource. Selecteer required-properties.

Vereiste eigenschappen toevoegen

Met deze optie worden alle eigenschappen voor het resourcetype toegevoegd die vereist zijn voor de implementatie. Nadat u deze optie hebt geselecteerd, heeft uw opslagaccount de volgende eigenschappen:

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

}

U bent bijna klaar. Geef waarden op voor deze eigenschappen.

Ook hier helpt IntelliSense u. Stel name in op . Dit is de parameter die een naam voor het storageName opslagaccount bevat. Stel location voor in op 'eastus' . Wanneer u de SKU-naam en het type toevoegt, biedt IntelliSense de geldige opties.

Wanneer u klaar bent, hebt u het volgende:

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

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: storageName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Zie Bicep-structuur voor meer informatie over de Bicep-syntaxis.

Resources visualiseren

U kunt een weergave van de resources in uw bestand weergeven.

Selecteer in de linkerbovenhoek de knop visualizer om Bicep Visualizer te openen.

Bicep Visualizer

De visualizer toont de resources die zijn gedefinieerd in het Bicep-bestand met de informatie over de resourceafhankelijkheid. De twee resources die in deze quickstart zijn gedefinieerd, hebben geen afhankelijkheidsrelatie, dus u ziet geen connector tussen de twee resources.

Het Bicep-bestand implementeren

Als u het bestand wilt implementeren dat u hebt gemaakt, opent u PowerShell of Azure CLI. Als u de geïntegreerde Visual Studio Code-terminal wilt gebruiken, selecteert u de ctrl + ` combinatie van sleutels. Wijzig de huidige map in de map waar het Bicep-bestand zich bevindt.

az group create --name exampleRG --location eastus

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

Notitie

Vervang uniquename door een unieke naam voor het opslagaccount. Als er een foutbericht wordt weergegeven dat aangeeft dat het opslagaccount al is gebruikt, wordt de opgegeven opslagnaam gebruikt. Geef een naam op die waarschijnlijk uniek is.

Wanneer de implementatie is geslaagd, ziet u een bericht waarin wordt aangegeven dat de implementatie is geslaagd.

Resources opschonen

Wanneer de Azure-resources niet meer nodig zijn, gebruikt u de Azure CLI of Azure PowerShell-module om de quickstart-resourcegroep te verwijderen.

az group delete --name exampleRG

Volgende stappen