Avvio rapido: Creare un'estensione azd di esempio

In questa guida introduttiva si crea un'estensione di esempio di Azure Developer CLI (azd) denominata Contoso Resource Tagger. Usi l'estensione di sviluppo azd per creare la struttura di un progetto Go, aggiungere un comando personalizzato ed eseguire l'estensione localmente. L'estensione di esempio creata è il punto di partenza per gli altri articoli di questa sezione, che illustra come aggiungere funzionalità, comunicare con azd, aggiungere un server MCP (Model Context Protocol) e pubblicare il lavoro.

Per informazioni sui concetti alla base dello sviluppo di estensioni prima di iniziare, vedere Concetti relativi allo sviluppo di estensioni.

Annotazioni

Il azd framework di estensione è disponibile a livello generale. Le singole estensioni o funzionalità potrebbero avere lo stato di anteprima.

Prerequisiti

azd include l'origine dell'estensione ufficiale per impostazione predefinita. È anche possibile installare estensioni da origini basate su URL o basate su file, registri di sviluppo locali, sviluppo esplicito o registri notturni e bundle portabili .zip . Per informazioni dettagliate, vedere Concetti relativi allo sviluppo di estensioni.

Tip

Se un azd progetto dipende da host, provider, convalida, gestori del ciclo di vita o comandi forniti dall'estensione, dichiarare le estensioni necessarie in azure.yaml con vincoli di versione. Per informazioni dettagliate, vedere requiredVersions.

Installare l'estensione per sviluppatori

L'estensione azd per sviluppatori (microsoft.azd.extensions) fornisce i azd x comandi usati per compilare le estensioni.

  1. Installare l'estensione per sviluppatori dall'origine dell'estensione ufficiale:

    azd extension install microsoft.azd.extensions
    
  2. Verificare che l'estensione sia installata:

    azd extension list --installed
    

    L'estensione per sviluppatori registra una suite di comandi nello spazio dei nomi x. Eseguire azd x per visualizzare i comandi disponibili.

Generare la struttura dell'estensione di esempio

Usa il comando azd x init per creare la struttura di un nuovo progetto di estensione.

  1. Creare e modificare in una directory per le estensioni:

    mkdir azd-extensions
    cd azd-extensions
    
  2. Inizializzare un repository Git e creare un commit iniziale. Il azd x init comando richiede che la cartella dell'estensione venga rilevata da Git:

    git init
    git commit --allow-empty -m "Initial commit"
    
  3. Eseguire il comando azd x init per generare la struttura di base dell'estensione:

    azd x init
    
  4. Quando richiesto, specificare i valori seguenti:

    Rapido Valore
    ID estensione contoso.azd.tagger
    Nome visualizzato Contoso Resource Tagger
    Description Standardize and report Azure resource tags for an azd project.
    Namespace tagger
    Capacità Custom commands
    Language Go

Il comando esegue lo scaffolding dell'estensione, compila i file binari iniziali, crea i pacchetti dell'estensione, lo pubblica in un'origine di estensione locale e lo installa localmente per un uso immediato.

Esplorare la struttura del progetto

Il azd x init comando genera un progetto con i file di chiave seguenti:

contoso.azd.tagger/
├── bin/                    # Contains built binaries
├── build.ps1               # Windows build script
├── build.sh                # Unix build script
├── CHANGELOG.md            # Version history and release notes
├── extension.yaml          # Extension metadata and capabilities
├── main.go                 # Entry point for the extension
├── go.mod                  # Go module definition
└── internal/               # Internal implementation code

I file più importanti sono:

  • extension.yaml: definisce i metadati, le funzionalità e i comandi per l'estensione. Per altre informazioni, vedere Definire il manifesto dell'estensione.
  • main.go: Il punto di ingresso che esegue il comando principale dell'estensione.
  • build.she build.ps1: script di compilazione multipiattaforma che compilano un file binario separato per ogni piattaforma supportata (Linux, Windows e macOS).
  • CHANGELOG.md: documenta le modifiche tra una versione e l'altra e fornisce note di rilascio al momento della pubblicazione.

Aggiungere un comando personalizzato

Aggiungere un show comando che stampa un messaggio di saluto per verificare il funzionamento dell'estensione. Il layout esatto del file dipende dal modello di avvio, ma il modello è lo stesso: definire un comando Cobra e registrarlo nel comando radice.

  1. internal/cmd Nella directory creare un file denominato show.go con il contenuto seguente:

    package cmd
    
    import (
        "fmt"
    
        "github.com/spf13/cobra"
    )
    
    func newShowCommand() *cobra.Command {
        return &cobra.Command{
            Use:   "show",
            Short: "Displays a greeting from the Contoso Resource Tagger extension.",
            RunE: func(cmd *cobra.Command, args []string) error {
                fmt.Println("Hello from the Contoso Resource Tagger extension!")
                return nil
            },
        }
    }
    
  2. Registrare il comando nel comando radice. internal/cmd/root.go Nel file aggiungere la riga seguente verso la fine del file dopo le altre AddCommand funzioni:

    rootCmd.AddCommand(newShowCommand())
    

Eseguire l'estensione

Prima di eseguire l'estensione, crearne il pacchetto e pubblicarlo nell'origine dell'estensione locale per registrare le modifiche.

  1. Crea il pacchetto dell'estensione:

    azd x pack
    
  2. Pubblicare l'estensione per registrarla:

    azd x publish
    
  3. Eseguire il nuovo comando:

    azd tagger show
    

    L'output sarà simile al seguente esempio:

    Hello from the Contoso Resource Tagger extension!
    

È ora disponibile un'estensione funzionante su cui è possibile eseguire la compilazione.

Controllare le modifiche durante lo sviluppo

Anziché eseguire azd x pack manualmente e azd x publish dopo ogni modifica, usare azd x watch per compilare e installare automaticamente l'estensione durante lo sviluppo.

  1. Dalla directory dell'estensione, avvia il watcher:

    azd x watch
    
  2. In un secondo terminale eseguire il comando per testare le modifiche apportate:

    azd tagger show
    

Per compilare manualmente l'estensione anziché usare watcher, eseguire azd x build.

Pulire le risorse

Al termine dell'esperimento, disinstallare l'estensione di esempio:

azd extension uninstall contoso.azd.tagger

Per continuare a usare l'estensione di esempio, vedere gli articoli seguenti. Ogni articolo è indipendente, in modo da poterli completare in qualsiasi ordine: