Snabbstart: Skapa ett azd-exempeltillägg

I den här snabbstarten skapar du ett exempel på ett AZURE Developer CLI-tillägg (azd) med namnet Contoso Resource Tagger. Du använder utvecklartillägget azd för att skapa ett Go-projekt, lägga till ett anpassat kommando och köra tillägget lokalt. Exempeltillägget som du skapar är startpunkten för de andra artiklarna i det här avsnittet, som visar hur du lägger till funktioner, kommunicerar med azd, lägger till en MCP-server (Model Context Protocol) och publicerar ditt arbete.

Mer information om begreppen bakom tilläggsutveckling innan du börjar finns i Tilläggsutvecklingsbegrepp.

Note

Tilläggsramverket azd är allmänt tillgängligt. Enskilda tillägg eller funktioner kan ha sin egen förhandsversionsstatus.

Förutsättningar

azd innehåller den officiella tilläggskällan som standard. Du kan också installera tillägg från URL-baserade eller filbaserade källor, lokala utvecklingsregister, opt-in development eller nattliga register och portabla .zip paket. Mer information finns i Tilläggsutvecklingsbegrepp.

Tips/Råd

Om ett azd projekt är beroende av värdar som tillhandahålls av tillägg, leverantörer, validering, livscykelhanterare eller kommandon deklarerar du de nödvändiga tilläggen med azure.yaml versionsbegränsningar. Mer information finns i requiredVersions.

Installera utvecklartillägget

Utvecklartillägget azd (microsoft.azd.extensions) innehåller de azd x kommandon som du använder för att skapa tillägg.

  1. Installera utvecklartillägget från den officiella tilläggskällan:

    azd extension install microsoft.azd.extensions
    
  2. Kontrollera att tillägget är installerat:

    azd extension list --installed
    

    Utvecklartillägget registrerar en uppsättning kommandon under x namnområdet. Kör azd x för att se tillgängliga kommandon.

Skapa grundstrukturen för exempeltillägget

azd x init Använd kommandot för att skapa ett nytt tilläggsprojekt.

  1. Skapa och ändra till en katalog för dina tillägg:

    mkdir azd-extensions
    cd azd-extensions
    
  2. Initiera ett Git-arkiv och skapa en första commit. Kommandot azd x init kräver att tilläggsmappen spåras av git:

    git init
    git commit --allow-empty -m "Initial commit"
    
  3. Kör kommandot azd x init för att generera stommen till tillägget:

    azd x init
    
  4. Ange följande värden när du uppmanas att göra det:

    Prompt Value
    Tilläggs-ID contoso.azd.tagger
    Visningsnamn Contoso Resource Tagger
    Description Standardize and report Azure resource tags for an azd project.
    Namespace tagger
    Kapaciteter Custom commands
    Language Go

Kommandot skapar tillägget, skapar de första binärfilerna, paketerar tillägget, publicerar det till en lokal tilläggskälla och installerar det lokalt för omedelbar användning.

Utforska projektstrukturen

Kommandot azd x init genererar ett projekt med följande nyckelfiler:

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

De viktigaste filerna är:

  • extension.yaml: Definierar metadata, funktioner och kommandon för tillägget. Mer information finns i Definiera tilläggsmanifestet.
  • main.go: Startpunkten som kör tilläggets rotkommando.
  • build.shoch build.ps1: Plattformsoberoende byggskript som kompilerar en separat binär för varje plattform som stöds (Linux, Windows och macOS).
  • CHANGELOG.md: Dokumenterar ändringar mellan versioner och tillhandahåller versionsinformation när du publicerar.

Lägga till ett anpassat kommando

Lägg till ett show kommando som skriver ut en hälsning för att verifiera att tillägget fungerar. Den exakta fillayouten beror på startmallen, men mönstret är detsamma: definiera ett Cobra-kommando och registrera det på rotkommandot.

  1. I katalogen internal/cmd skapar du en fil med namnet show.go med följande innehåll:

    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. Registrera kommandot i rotkommandot. internal/cmd/root.go I filen lägger du till följande rad längst ned i filen efter de andra AddCommand funktionerna:

    rootCmd.AddCommand(newShowCommand())
    

Starta tillägget

Innan du kör tillägget, paketera det och publicera det till din lokala tilläggskälla för att registrera dina ändringar.

  1. Paketera tillägget:

    azd x pack
    
  2. Publicera tillägget för att registrera det:

    azd x publish
    
  3. Kör det nya kommandot:

    azd tagger show
    

    Utdata liknar följande exempel:

    Hello from the Contoso Resource Tagger extension!
    

Nu har du ett fungerande tillägg som du kan bygga vidare på.

Håll utkik efter ändringar under utvecklingen

I stället för att köra azd x pack och azd x publish efter varje ändring manuellt kan du använda azd x watch för att automatiskt skapa och installera tillägget när du utvecklar.

  1. Starta bevakaren från tilläggskatalogen:

    azd x watch
    
  2. I en andra terminal kör du kommandot för att testa ändringar när du gör dem:

    azd tagger show
    

Om du vill skapa tillägget manuellt i stället för att använda bevakaren kör du azd x build.

Rensa resurser

När du är klar med experimentet avinstallerar du exempeltillägget:

azd extension uninstall contoso.azd.tagger

Information om hur du fortsätter att bygga på exempeltillägget finns i följande artiklar. Varje artikel är oberoende, så du kan slutföra dem i valfri ordning: