Condividi tramite


Che cos'è Bicep?

Bicep è un linguaggio specifico di dominio che usa la sintassi dichiarativa per distribuire le risorse di Azure. In un file Bicep si definisce l'infrastruttura da distribuire in Azure e quindi si usa tale file nel ciclo di vita di sviluppo per distribuire ripetutamente l'infrastruttura. Le risorse vengono distribuite in modo coerente.

Bicep fornisce sintassi concisa, sicurezza dei tipi affidabile e supporto per il riutilizzo del codice. Bicep offre un'esperienza di creazione di prima classe per le soluzioni di infrastruttura come codice in Azure.

Vantaggi di Bicep

Bicep offre i vantaggi seguenti:

  • Supporto per tutti i tipi di risorse e versioni di API: Bicep supporta immediatamente tutte le versioni di anteprima e in disponibilità generale per i servizi di Azure. Non appena un provider di risorse introduce nuovi tipi di risorse e versioni di API, è possibile usarli nel file Bicep. Non è necessario attendere che gli strumenti vengano aggiornati prima di usare i nuovi servizi.

  • Sintassi semplice: rispetto al modello JSON equivalente, i file Bicep sono più concisi e più facili da leggere. Bicep non richiede conoscenze precedenti dei linguaggi di programmazione. La sintassi Bicep è dichiarativa e specifica le risorse e le relative proprietà da distribuire.

    Gli esempi seguenti illustrano la differenza tra un file Bicep e il modello JSON equivalente. Entrambi gli esempi distribuiscono un account di archiviazione:

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Esperienza di creazione: quando si usa l'estensione Bicep per VS Code per creare i file Bicep, si ottiene un'esperienza di creazione di prima classe. L'editor offre sicurezza avanzata dei tipi, IntelliSense e convalida della sintassi.

    Acquisizione dello schermo della creazione di un file Bicep in tempo reale

    È anche possibile creare file Bicep in Visual Studio con l'estensione Bicep per Visual Studio.

  • Risultati ripetibili: distribuire l'infrastruttura nel ciclo di vita di sviluppo con la certezza che le risorse vengano distribuite in modo coerente. I file Bicep sono idempotenti, il che significa che è possibile distribuire lo stesso file più volte e ottenere gli stessi tipi di risorse nello stesso stato. È possibile sviluppare un file che rappresenta lo stato desiderato anziché sviluppare molti file separati per rappresentare gli aggiornamenti. Ad esempio, il file seguente crea un account di archiviazione. Se si distribuisce questo modello e l'account di archiviazione quando esistono già le proprietà specificate, le modifiche non vengono apportate:

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Orchestrazione: non è necessario preoccuparsi delle complessità delle operazioni di ordinamento. Resource Manager orchestra la distribuzione delle risorse interdipendenti in modo che vengano create nell'ordine corretto. Quando possibile, Resource Manager distribuisce le risorse in parallelo, che consente alle distribuzioni di terminare più velocemente rispetto alle distribuzioni seriali. Il file viene distribuito tramite uno anziché più comandi imperativi.

    Diagramma che confronta la distribuzione tra un file Bicep e un'infrastruttura come codice non in un modello.

  • Modularità: usare i moduli per segmentare il codice Bicep in parti gestibili. I moduli consentono di riutilizzare il codice e semplificare lo sviluppo. Un modulo distribuisce un set di risorse correlate. Aggiungere un modulo a un file Bicep quando è necessario distribuire tali risorse.

  • Integrazione con i servizi di Azure: Bicep si integra con i servizi di Azure, ad esempio Criteri di Azure, specifiche di modello e Azure Blueprints.

  • Anteprima delle modifiche: è possibile usare l'operazione di simulazione per visualizzare in anteprima le modifiche prima di distribuire il file Bicep. L'operazione di simulazione mostra le risorse da creare, aggiornare o eliminare ed eventuali proprietà delle risorse da modificare. Controlla anche lo stato corrente dell'ambiente ed elimina la necessità di gestire questo stato.

  • Nessun file di stato o di stato da gestire: Azure archivia tutti gli stati. È possibile collaborare con altri utenti e assicurarsi che gli aggiornamenti vengano gestiti come previsto.

  • Nessun costo e open source: poiché Bicep è gratuito, non è necessario pagare per le funzionalità Premium. supporto tecnico Microsoft lo supporta.

Operazioni preliminari

Per iniziare a usare Bicep:

  1. Installare gli strumenti. Per altre informazioni, vedere Configurare ambienti di sviluppo e distribuzione Bicep o usare il repository devcontainer/Codespaces di VS Code per ottenere un ambiente di creazione preconfigurato.
  2. Completare i moduli Avvio rapido e Learn per Bicep.

Per decompilare un modello di Resource Manager esistente in Bicep, vedere Decompilazione del codice JSON del modello arm in Bicep. È possibile usare Bicep Playground per visualizzare Bicep e il relativo equivalente, JSON, affiancato.

Per informazioni sulle risorse disponibili nel file Bicep, vedere Riferimento sulle risorse Bicep.

Gli esempi di Bicep sono disponibili nel repository GitHub Bicep.

Informazioni sulla lingua

Bicep non è destinato a un linguaggio di programmazione generale per scrivere applicazioni. Un file Bicep dichiara le risorse di Azure e le proprietà delle risorse senza scrivere una sequenza di comandi di programmazione per crearli.

Per tenere traccia dello stato del lavoro di Bicep, vedere il repository di progetti Bicep.

Per informazioni su Bicep, guardare il video seguente:

È possibile usare Bicep anziché JSON per sviluppare modelli di Resource Manager. La sintassi JSON per creare un modello di Resource Manager può essere dettagliata e richiedere espressioni complesse. La sintassi Bicep riduce la complessità e migliora l'esperienza di sviluppo. Bicep è un'astrazione trasparente su un modello JSON di Resource Manager che non perde le funzionalità di un modello JSON. Durante la distribuzione, l'interfaccia della riga di comando di Bicep converte un file Bicep in un modello JSON di Resource Manager.

I tipi di risorse, le versioni api e le proprietà validi in un modello di Resource Manager sono validi in un file Bicep.

Bicep offre una sintassi più semplice e più concisa rispetto al codice JSON equivalente. Non si usano espressioni [...] tra parentesi quadre. Si chiamano invece direttamente le funzioni e si ottengono valori da parametri e variabili. Si assegna a ogni risorsa distribuita un nome simbolico, che semplifica il riferimento a tale risorsa nel modello.

Per un confronto completo della sintassi, vedere Confronto tra JSON e Bicep per i modelli.

Bicep gestisce automaticamente le dipendenze tra le risorse. È possibile evitare di impostare dependsOn quando il nome simbolico di una risorsa viene usato in un'altra dichiarazione di risorsa.

La struttura del file Bicep è più flessibile rispetto a un modello JSON. È possibile dichiarare parametri, variabili e output in qualsiasi punto del file. In JSON è necessario dichiarare tutti i parametri, le variabili e gli output nelle sezioni corrispondenti del modello.

Ottenere supporto

Di seguito sono riportati i passaggi per l'apertura di un ticket di supporto per i problemi correlati al modello di Azure Resource Manager (ARM):

  1. Apri il portale di Azure.

  2. Selezionare l'icona Supporto e risoluzione dei problemi nell'angolo in alto a destra.

  3. In Descrizione breve del problema immettere Modello di Resource Manager e quindi selezionare Vai.

  4. In Con quale servizio si è verificato un problema? selezionare Portale in Monitoraggio e gestione e quindi selezionare Avanti.

  5. Selezionare una sottoscrizione, quindi selezionare Avanti.

  6. Selezionare Problema con i modelli di ARM e quindi selezionare Avanti.

    Screenshot della richiesta del supporto del modello di Resource Manager.

Passaggi successivi

Per iniziare, vedere Avvio rapido.

Per risposte alle domande comuni, vedere Domande frequenti su Bicep.