Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida introduttiva illustra i passaggi per creare un file Bicep con Visual Studio. Vengono creati un account di archiviazione e una rete virtuale. Si apprenderà anche come l'estensione Bicep semplifica lo sviluppo fornendo sicurezza dei tipi, convalida della sintassi e completamento automatico.
In Visual Studio Code è supportata anche un'esperienza di creazione simile. Consulta Guida rapida: Creare i file Bicep con Visual Studio Code.
Prerequisiti
- Abbonamento Azure Se non si ha una sottoscrizione Azure, creare un account gratuito prima di iniziare.
- Visual Studio versione 17.3.0 preview 3 o successiva. Vedere Visual Studio Preview.
- Visual Studio Bicep'estensione. Vedere Visual Studio Marketplace.
- La distribuzione di file Bicep richiede la versione più recente di interfaccia della riga di comando di Azure o del modulo Azure PowerShell più recente.
Annotazioni
Per fare in modo che tutte le diagnostiche generate da Bicep (errori, avvisi e messaggi informativi) siano correttamente visualizzati come diagnostica nativa di MSBuild, configura BicepTreatInfoAsWarnings nel tuo file di progetto. Per esempio:
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<BicepTreatInfoAsWarnings>true</BicepTreatInfoAsWarnings>
</PropertyGroup>
</Project>
Aggiungere un frammento di risorsa
Avviare Visual Studio e creare un nuovo file denominato main.bicep.
Visual Studio con l'estensione Bicep semplifica lo sviluppo fornendo frammenti predefiniti. In questa guida di avviamento rapido viene aggiunto un frammento di codice che crea una rete virtuale.
In main.bicep, digita vnet. Selezionare res-vnet nell'elenco e quindi premere [TAB] o [INVIO].
Suggerimento
Se le opzioni di intellisense non vengono visualizzate in Visual Studio, assicurarsi di aver installato l'estensione Bicep come specificato in Prerequisites. Se l'estensione è stata installata, assegnare al servizio linguistico Bicep tempo per iniziare dopo l'apertura del file Bicep. In genere si avvia rapidamente, tuttavia le opzioni IntelliSense non saranno disponibili prima dell'avvio.
Il file Bicep contiene ora il codice seguente:
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-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'
}
}
]
}
}
Questo frammento di codice contiene tutti i valori necessari per definire una rete virtuale. Tuttavia, è possibile modificare questo codice per soddisfare i requisiti. Ad esempio, name non è un ottimo nome per la rete virtuale. Modificare la name proprietà in exampleVnet.
name: 'exampleVnet'
Nota: location ha una sottolineatura ondulata rossa. Indica un problema. Posiziona il cursore sopra posizione. Il messaggio di errore è : il nome "location" non esiste nel contesto corrente. Verrà creato un parametro location nella sezione successiva.
Aggiungere parametri
A questo punto, vengono aggiunti due parametri per il nome dell'account di archiviazione e la posizione. Nella parte superiore del file aggiungere:
param storageName
Quando si aggiunge uno spazio dopo storageName, si noti che intellisense offre i tipi di dati disponibili per il parametro . Selezionare stringa.
Si dispone del parametro seguente:
param storageName string
Questo parametro funziona correttamente, ma gli account di archiviazione hanno limiti sulla lunghezza del nome. Il nome deve contenere almeno tre caratteri e non più di 24 caratteri. È possibile specificare tali requisiti aggiungendo decoratori al parametro.
Aggiungere una riga sopra il parametro e digitare @. Gli elementi Decorator disponibili vengono visualizzati. Si noti che sono presenti decoratori sia per minLength che maxLength.
Aggiungere entrambi i decoratori e specificare i limiti dei caratteri, come illustrato di seguito.
@minLength(3)
@maxLength(24)
param storageName string
È anche possibile aggiungere una descrizione per il parametro . Includere informazioni che aiutino le persone a distribuire il file Bicep a comprendere il valore da fornire.
@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
Il parametro del nome dell'account di archiviazione è pronto per l'uso.
Aggiungere un altro parametro location:
param location string = resourceGroup().location
Aggiungere una risorsa
Anziché usare un frammento di codice per definire l'account di archiviazione, viene usato intellisense per impostare i valori. IntelliSense semplifica questo passaggio rispetto alla necessità di digitare manualmente i valori.
Per definire una risorsa, usare la resource parola chiave . Sotto la rete virtuale digitare risorsa exampleStorage:
resource exampleStorage
exampleStorage è un nome simbolico per la risorsa che si sta distribuendo. È possibile usare questo nome per fare riferimento alla risorsa in altre parti del file di Bicep.
Quando si aggiunge uno spazio dopo il nome simbolico, viene visualizzato un elenco di tipi di risorse. Continuare a digitare spazio di archiviazione fino a quando non è possibile selezionarlo dalle opzioni disponibili.
Dopo aver selezionato Microsoft. Storage/storageAccounts vengono presentate le versioni API disponibili. Selezionare 2021-09-01 o la versione più recente dell'API. È consigliabile usare la versione più recente dell'API.
Dopo l’offerta singola per il tipo di risorsa, aggiungere = e uno spazio. Vengono visualizzate le opzioni per l'aggiunta di proprietà alla risorsa. Selezionare Proprietà obbligatorie.
Questa opzione aggiunge tutte le proprietà per il tipo di risorsa necessario per la distribuzione. Dopo aver selezionato questa opzione, l'account di archiviazione ha le proprietà seguenti:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
Nel codice sono presenti quattro segnaposto. Usare [TAB] per navigare tra di essi ed inserire i valori. Anche in questo caso, intelliSense ti aiuta. Imposta name su storageName, che è il parametro che contiene un nome per l'account di archiviazione. Per location, impostarlo su location. Quando si aggiunge il nome e il tipo di SKU, intelliSense presenta le opzioni valide.
Al termine, si dispone di:
@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@2025-01-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@2025-06-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Per altre informazioni sulla sintassi Bicep, vedere struttura Bicep.
Distribuire il file Bicep
La distribuzione di file Bicep non può ancora essere eseguita da Visual Studio. È possibile distribuire il file di Bicep usando interfaccia della riga di comando di Azure o Azure PowerShell:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename
Al termine della distribuzione, verrà visualizzato un messaggio che indica che la distribuzione è riuscita.
Pulire le risorse
Quando le risorse di Azure non sono più necessarie, usare il modulo interfaccia della riga di comando di Azure o Azure PowerShell per eliminare il gruppo di risorse di avvio rapido.
az group delete --name exampleRG