Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart bouwt u een voorbeeld-Azure Developer CLI-extensie (azd) met de naam Contoso Resource Tagger. U gebruikt de azd ontwikkelaarsextensie om een Go-project te maken, een aangepaste opdracht toe te voegen en de extensie lokaal uit te voeren. De voorbeeldextensie die u maakt, is het startpunt voor de andere artikelen in deze sectie, waarin wordt uitgelegd hoe u mogelijkheden toevoegt, communiceert met azd, een MCP-server (Model Context Protocol) toevoegt en uw werk publiceert.
Zie De concepten voor uitbreidingsontwikkeling voordat u begint voor meer informatie over de concepten voor uitbreidingsontwikkeling.
Opmerking
Het azd extensieframework is algemeen beschikbaar. Afzonderlijke extensies of mogelijkheden hebben mogelijk hun eigen preview-status.
Prerequisites
- Installeer de Azure Developer CLI.
- Installeer Go 1.26 of hoger.
- Een code-editor, zoals Visual Studio Code.
azd bevat standaard de officiële extensiebron. U kunt ook extensies installeren van url- of bestandsbronnen, lokale ontwikkelingsregisters, opt-in-ontwikkeling of nachtregisters en draagbare .zip bundels. Zie De concepten voor uitbreidingsontwikkeling voor meer informatie.
Aanbeveling
Als een azd project afhankelijk is van door extensies geleverde hosts, providers, validatie, levenscyclushandlers of opdrachten, declareert u deze vereiste extensies met azure.yaml versiebeperkingen. Zie requiredVersionsvoor meer informatie.
De ontwikkelaarsextensie installeren
De azd ontwikkelaarsextensie (microsoft.azd.extensions) biedt de azd x opdrachten die u gebruikt om extensies te bouwen.
Installeer de ontwikkelaarsextensie vanuit de officiële extensiebron:
azd extension install microsoft.azd.extensionsControleer of de extensie is geïnstalleerd:
azd extension list --installedDe ontwikkelaarsextensie registreert een reeks opdrachten onder de
xnaamruimte. Voer deze opdracht uitazd xom de beschikbare opdrachten weer te geven.
Genereer de voorbeeldextensie
Gebruik de opdracht azd x init om een nieuw extensieproject op te zetten.
Maak en wijzig deze in een map voor uw extensies:
mkdir azd-extensions cd azd-extensionsInitialiseer een Git-opslagplaats en maak een initiële doorvoering. De opdracht
azd x initvereist dat de extensiemap door git wordt gevolgd:git init git commit --allow-empty -m "Initial commit"Voer de opdracht
azd x inituit om de basisstructuur van de extensie te genereren:azd x initGeef de volgende waarden op wanneer u hierom wordt gevraagd:
Prompt Waarde Extensie-ID contoso.azd.taggerweergavenaam Contoso Resource TaggerDescription Standardize and report Azure resource tags for an azd project.Namespace taggerMogelijkheden Custom commandsLanguage Go
Met de opdracht wordt de basisstructuur van de extensie gegenereerd, worden de eerste binaire bestanden gebouwd, wordt de extensie verpakt, naar een lokale extensiebron gepubliceerd en lokaal geïnstalleerd voor onmiddellijk gebruik.
De projectstructuur verkennen
Met de azd x init opdracht wordt een project gegenereerd met de volgende sleutelbestanden:
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 belangrijkste bestanden zijn:
-
extension.yaml: Definieert de metagegevens, mogelijkheden en opdrachten voor uw extensie. Zie Het extensiemanifest definiëren voor meer informatie. -
main.go: het toegangspunt waarmee de hoofdopdracht van uw extensie wordt uitgevoerd. -
build.shenbuild.ps1: platformoverschrijdende buildscripts die een afzonderlijk binair bestand compileren voor elk ondersteund platform (Linux, Windows en macOS). -
CHANGELOG.md: Documenteert wijzigingen tussen versies en biedt releaseopmerkingen wanneer u publiceert.
Een aangepaste opdracht toevoegen
Voeg een show opdracht toe waarmee een begroeting wordt afgedrukt om te controleren of uw extensie werkt. De exacte bestandsindeling is afhankelijk van de starterssjabloon, maar het patroon is hetzelfde: definieer een Cobra-opdracht en registreer deze op de hoofdopdracht.
Maak in de
internal/cmdmap een bestand met de naamshow.gomet de volgende inhoud: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 }, } }Registreer de opdracht in de hoofdopdracht. Voeg in het
internal/cmd/root.gobestand de volgende regel toe aan de onderkant van het bestand na de andereAddCommandfuncties:rootCmd.AddCommand(newShowCommand())
De extensie uitvoeren
Voordat u de extensie uitvoert, moet u deze verpakken en publiceren naar de lokale extensiebron om uw wijzigingen te registreren.
Pakket de extensie:
azd x packPubliceer de extensie om deze te registreren:
azd x publishVoer de nieuwe opdracht uit:
azd tagger showDe uitvoer lijkt op het volgende voorbeeld:
Hello from the Contoso Resource Tagger extension!
U hebt nu een werkende extensie waarop u kunt bouwen.
Let op wijzigingen tijdens de ontwikkeling
In plaats van na elke wijziging azd x pack en azd x publish handmatig uit te voeren, kunt u azd x watch gebruiken om de extensie tijdens de ontwikkeling automatisch te bouwen en te installeren.
Start de watcher vanuit de extensiemap:
azd x watchVoer in een tweede terminal de opdracht uit om wijzigingen te testen terwijl u ze aanbrengt:
azd tagger show
Als u de extensie handmatig wilt bouwen in plaats van de watcher te gebruiken, voert u de opdracht uit azd x build.
De hulpbronnen opschonen
Wanneer u klaar bent met experimenteren, verwijdert u de voorbeeldextensie:
azd extension uninstall contoso.azd.tagger
Verwante onderwerpen
Zie de volgende artikelen om verder te bouwen op de voorbeeldextensie. Elk artikel is onafhankelijk, zodat u ze in elke volgorde kunt voltooien: