Partager via


Démarrage rapide : Créer des fichiers Bicep avec Visual Studio Code

Ce guide de démarrage rapide vous guide sur l’utilisation de Visual Studio Code pour créer un fichier Bicep. Vous créez un compte de stockage et un réseau virtuel. Vous découvrez également comment l’extension Bicep simplifie le développement en fournissant une cohérence des types, la validation de syntaxe et l’autocomplétion.

Visual Studio prend en charge une expérience de création similaire. Pour plus d’informations, consultez Démarrage rapide : Créer des fichiers Bicep avec Visual Studio.

Prérequis

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Pour configurer votre environnement pour le développement Bicep, consultez Installer les outils bicep. Une fois ces étapes effectuées, Visual Studio Code et l’extension Bicep sont installés. Vous disposez également de la dernière version d’Azure CLI ou du module Azure PowerShell.

Ajouter un extrait de code de ressource

Visual Studio Code avec l’extension Bicep fournit des extraits de code prédéfinis pour simplifier le développement. Dans ce guide de démarrage rapide, vous allez ajouter un extrait de code qui crée un réseau virtuel.

Lancez Visual Studio Code et créez un fichier nommé main.bicep. Dans main.bicep, tapez vnet, sélectionnez res-vnet dans la liste, puis appuyez sur la touche Tabulation ou Entrée.

Capture d'écran de l'ajout d'un extrait de code pour le réseau virtuel.

Conseil

Si vous ne voyez pas ces options IntelliSense dans Visual Studio Code, assurez-vous que vous avez installé l’extension Bicep comme indiqué dans Prérequis. Si vous avez installé l’extension, laissez au service de langage Bicep un peu de temps pour démarrer après l’ouverture de votre fichier Bicep. En général, il démarre rapidement, et vous ne disposez pas des options IntelliSense tant qu’il n’a pas démarré. Une notification dans le coin inférieur droit indique que le service est en cours de démarrage. Lorsque cette notification disparaît, le service est en cours d’exécution.

Votre fichier Bicep contient maintenant le code suivant :

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

Dans cet extrait de code, vous trouverez toutes les valeurs nécessaires à la définition d’un réseau virtuel. Vous remarquerez peut-être deux soulignements ondulés. Un soulignement jaune indique un avertissement lié à une version d’API obsolète, alors qu’un soulignement ondulé rouge signale une erreur causée par une définition de paramètre manquante. Le linter Bicep vérifie les fichiers Bicep pour rechercher les erreurs de syntaxe et les infractions aux meilleures pratiques. Pointez votre curseur sur @2019-11-01, un volet contextuel montre Utiliser la version d’API la plus récente pour 'Microsoft.Network/virtualNetworks'. Sélectionnez Correctif rapide dans le volet contextuel, puis sélectionnez Remplacer par 2024-05-01 pour mettre à jour la version de l’API.

Vous pouvez également supprimer @2019-11-01 et le remplacer par @. Sélectionnez la dernière version de l’API.

Capture d’écran de la mise à jour de la version de l’API.

Vous allez corriger l’erreur relative à la définition de paramètre manquante dans la prochaine section.

Vous pouvez également modifier ce code en fonction de vos besoins. Par exemple, étant donné que name n’est pas un nom clair pour le réseau virtuel, vous pouvez modifier la propriété name sur exampleVnet :

name: 'exampleVNet'

Ajout d’un paramètre

Une définition de paramètre, location, est manquante dans l’extrait de code que vous avez ajouté dans la dernière section, comme indiqué par le soulignement rouge. En haut du fichier, ajoutez :

param location

Quand vous ajoutez un espace après emplacement, notez qu’IntelliSense propose les types de données disponibles pour le paramètre. Sélectionnez Chaîne.

Capture d'écran de l'ajout du type string au paramètre.

Affectez une valeur par défaut au paramètre :

param location string = resourceGroup().location

La ligne précédente affecte l’emplacement du groupe de ressources à la ressource de réseau virtuel. Pour plus d’informations sur la fonction utilisée dans la valeur par défaut, consultez resourceGroup().

En haut du fichier, ajoutez un autre paramètre pour le nom du compte de stockage, que vous créez ultérieurement dans le guide de démarrage rapide, avec une valeur par défaut :

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

Pour plus d’informations, consultez Interpolation et uniqueString().

Ce paramètre fonctionne correctement, mais les comptes de stockage présentent des limites en termes de longueur de nom. Le nom doit contenir entre 3 et 24 caractères. Vous pouvez spécifier ces exigences en ajoutant des éléments décoratifs au paramètre.

Ajoutez une ligne au-dessus du paramètre et entrez @ . Les éléments décoratifs disponibles s’affichent. Notez que des éléments décoratifs existent pour minLength et maxLength.

Capture d'écran de l'ajout de décorateurs au paramètre.

Ajoutez les deux éléments décoratifs et spécifiez les limites de caractères, par exemple 3 et 24 ci-dessous :

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

Vous pouvez également ajouter une description pour le paramètre. Incluez des informations pour aider les utilisateurs qui déploient le fichier Bicep à comprendre quelle valeur fournir :

@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)}'

Vos paramètres sont prêts à être utilisés.

Ajouter une ressource

Au lieu d’utiliser un extrait de code pour définir le compte de stockage, vous utilisez IntelliSense pour spécifier les valeurs. IntelliSense facilite cette étape en vous évitant de devoir saisir manuellement les valeurs.

Pour définir une ressource, utilisez le mot clé resource. Sous votre réseau virtuel, tapez resource storageAccount :

resource storageAccount

storageAccount est un nom symbolique pour la ressource que vous déployez. Vous pouvez utiliser ce nom pour référencer la ressource dans d’autres parties de votre fichier Bicep.

Lorsque vous ajoutez un espace après le nom symbolique, une liste de types de ressources s’affiche. Continuez à taper storageacc jusqu’à ce que vous puissiez le sélectionner parmi les options disponibles.

Capture d'écran de la sélection des comptes de stockage pour le type de ressource.

Après avoir sélectionné Microsoft.Stockage/storageAccounts, les versions d’API disponibles s’affichent. Sélectionnez la dernière version. Dans la capture d’écran suivante, il s’agit de 2023-05-01.

Capture d’écran de la sélection de la version API pour le type de ressource.

Après le guillemet simple pour le type de ressource, ajoutez = et un espace. Les options permettant d’ajouter des propriétés à la ressource s’affichent. Sélectionnez required-properties.

Capture d'écran de l'ajout des propriétés requises.

Cette option ajoute toutes les propriétés correspondant au type de ressource requis pour le déploiement. Après avoir sélectionné cette option, votre compte de stockage dispose des propriétés suivantes :

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

Vous avez presque terminé. L’étape suivante consiste à fournir des valeurs à ces propriétés.

Encore une fois, IntelliSense va vous aider. Définissez name sur storageAccountName. Il s’agit du paramètre qui contient un nom pour le compte de stockage. Pour location, définissez sur location, qui est un paramètre que vous avez créé. Quand vous ajoutez sku.name et kind, IntelliSense présente les options valides.

Pour ajouter des propriétés facultatives en même temps que les propriétés requises, placez le curseur à l’emplacement souhaité, puis appuyez sur Ctrl+Espace. La capture d’écran suivante montre comment IntelliSense suggère des propriétés disponibles :

Capture d’écran de l’ajout de propriétés supplémentaires.

Une fois l’opération effectuée, vous disposez des éléments suivants :

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

Pour plus d’informations sur la syntaxe Bicep, consultez Syntaxe et structure des fichiers Bicep.

Visualiser les ressources

Le visualiseur Bicep vous montre une représentation graphique des ressources dans votre fichier.

Sélectionnez le bouton du visualiseur Bicep dans le coin supérieur droit pour ouvrir l’outil :

Capture d’écran de l’outil Visualiseur Bicep.

Ce visualiseur affiche les ressources définies dans le fichier Bicep et les connecteurs entre leurs dépendances. Les deux ressources définies dans ce guide de démarrage rapide n’ont pas de relation dépendante. Il n’y a donc pas de connecteur entre eux :

Capture d’écran du diagramme de visualiseur Bicep.

Déployer le fichier Bicep

  1. Cliquez avec le bouton droit sur le fichier Bicep dans Visual Studio Code, puis sélectionnez Déployer le fichier Bicep.

    Capture d’écran de l’option Déployer un fichier Bicep.

  2. Dans la zone de texte Entrez un nom pour le déploiement, tapez deployStorageAndVNet, puis appuyez sur la touche Entrée.

    Capture d’écran de l’entrée du nom du déploiement.

  3. Dans la zone de liste Sélectionner un groupe de ressources en haut, sélectionnez Créer un groupe de ressources.

  4. Entrez exampleRG en tant que nom de groupe de ressources, puis appuyez sur la touche Entrée.

  5. Sélectionnez un emplacement pour le groupe de ressources, sélectionnez USA Centre ou l’emplacement de votre choix, puis appuyez sur la touche Entrée.

  6. Dans Sélectionner un fichier de paramètres, sélectionnez Aucun.

Quelques instants sont nécessaires pour créer les ressources. Pour plus d’informations, consultez Déployer des fichiers Bicep avec Visual Studio Code.

Vous pouvez également utiliser Azure CLI ou Azure PowerShell pour déployer le fichier Bicep :

az group create --name exampleRG --location eastus

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

Une fois le déploiement terminé, un message doit s’afficher pour indiquer que le déploiement a réussi.

Nettoyer les ressources

Lorsque les ressources Azure ne sont plus nécessaires, utilisez Azure CLI ou le module Azure PowerShell afin de supprimer le groupe de ressources qui a été utilisé pour ce guide de démarrage rapide.

az group delete --name exampleRG

Étapes suivantes