Schnellstart: Eine azd-Beispielerweiterung erstellen

In dieser Schnellstartanleitung erstellen Sie eine Beispielerweiterung Azure Developer CLI (azd) mit dem Namen Contoso Resource Tagger. Sie verwenden die azd Entwicklererweiterung, um ein Go-Projekt zu erstellen, einen benutzerdefinierten Befehl hinzuzufügen und die Erweiterung lokal auszuführen. Die von Ihnen erstellte Beispielerweiterung ist der Ausgangspunkt für die anderen Artikel in diesem Abschnitt, in denen gezeigt wird, wie Sie Funktionen hinzufügen, mit azd kommunizieren, einen Model Context Protocol (MCP)-Server hinzufügen und Ihre Arbeit veröffentlichen.

Informationen zu den Konzepten hinter der Erweiterungsentwicklung, bevor Sie beginnen, finden Sie unter Erweiterungsentwicklungskonzepte.

Note

Das Erweiterungsframework azd ist allgemein verfügbar. Einzelne Erweiterungen oder Funktionen verfügen möglicherweise über einen eigenen Vorschaustatus.

Voraussetzungen

azd enthält standardmäßig die offizielle Erweiterungsquelle. Sie können Erweiterungen auch aus URL-basierten oder dateibasierten Quellen, lokalen Entwicklungsregistrierungen, Opt-In-Entwicklung oder Nachtregistrierungen und tragbaren .zip Bündeln installieren. Ausführliche Informationen finden Sie unter Erweiterungsentwicklungskonzepte.

Tipp

Wenn ein azd Projekt von erweiterungsbasierten Hosts, Anbietern, Validierungs-, Lebenszyklushandlern oder Befehlen abhängt, deklarieren Sie diese erforderlichen Erweiterungen mit azure.yaml Versionsbeschränkungen. Weitere Informationen finden Sie unter requiredVersions.

Installieren der Entwicklererweiterung

Die azd Erweiterung für Entwickler (microsoft.azd.extensions) stellt die azd x Befehle bereit, die Sie zum Erstellen von Erweiterungen verwenden.

  1. Installieren Sie die Entwicklererweiterung aus der offiziellen Erweiterungsquelle:

    azd extension install microsoft.azd.extensions
    
  2. Überprüfen Sie, ob die Erweiterung installiert ist:

    azd extension list --installed
    

    Die Entwicklererweiterung registriert eine Reihe von Befehlen unter dem x Namespace. Führen Sie den Befehl azd x aus, um die verfügbaren Befehle anzuzeigen.

Grundgerüst für die Beispielerweiterung erstellen

Verwenden Sie den azd x init Befehl zum Erstellen eines Gerüsts für ein neues Erweiterungsprojekt.

  1. Erstellen Sie ein Verzeichnis für Ihre Erweiterungen und wechseln Sie hinein:

    mkdir azd-extensions
    cd azd-extensions
    
  2. Initialisieren Sie ein Git-Repository, und erstellen Sie einen anfänglichen Commit. Der Befehl azd x init setzt voraus, dass der Erweiterungsordner von Git verwaltet wird:

    git init
    git commit --allow-empty -m "Initial commit"
    
  3. Führen Sie den azd x init Befehl aus, um das Gerüst für die Erweiterung zu erstellen:

    azd x init
    
  4. Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Werte an:

    Prompt Value
    Erweiterungs-ID contoso.azd.tagger
    Anzeigename Contoso Resource Tagger
    Description Standardize and report Azure resource tags for an azd project.
    Namespace tagger
    Fähigkeiten Custom commands
    Language Go

Der Befehl erstellt ein Gerüst für die Erweiterung, erstellt die anfänglichen Binärdateien, packt die Erweiterung, veröffentlicht sie in einer lokalen Erweiterungsquelle und installiert sie lokal zur sofortigen Verwendung.

Erkunden der Projektstruktur

Der azd x init Befehl generiert ein Projekt mit den folgenden Schlüsseldateien:

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

Die wichtigsten Dateien sind:

  • extension.yaml: Definiert die Metadaten, Funktionen und Befehle für Die Erweiterung. Weitere Informationen finden Sie unter Definieren des Erweiterungsmanifests.
  • main.go: Der Einstiegspunkt, der den Stammbefehl der Erweiterung ausführt.
  • build.shund build.ps1: Plattformübergreifende Buildskripts, die eine separate Binärdatei für jede unterstützte Plattform kompilieren (Linux, Windows und macOS).
  • CHANGELOG.md: Dokumentiert Änderungen zwischen Versionen und stellt Versionshinweise bereit, wenn Sie veröffentlichen.

Hinzufügen eines benutzerdefinierten Befehls

Fügen Sie einen show Befehl hinzu, der eine Begrüßung druckt, um zu überprüfen, ob die Erweiterung funktioniert. Das genaue Dateilayout hängt von der Startvorlage ab, aber das Muster ist identisch: Definieren Sie einen Cobra-Befehl , und registrieren Sie es für den Stammbefehl.

  1. Erstellen Sie im internal/cmd Verzeichnis eine Datei show.go mit dem folgenden Inhalt:

    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. Registrieren Sie den Befehl beim Stammbefehl. Fügen Sie in der internal/cmd/root.go Datei die folgende Zeile am Ende der Datei nach den anderen AddCommand Funktionen hinzu:

    rootCmd.AddCommand(newShowCommand())
    

Erweiterung ausführen

Bevor Sie die Erweiterung ausführen, packen Sie sie, und veröffentlichen Sie sie in Ihrer lokalen Erweiterungsquelle, um Ihre Änderungen zu registrieren.

  1. Packen Sie die Erweiterung:

    azd x pack
    
  2. Veröffentlichen Sie die Erweiterung, um sie zu registrieren:

    azd x publish
    
  3. Führen Sie den neuen Befehl aus:

    azd tagger show
    

    Die Ausgabe ähnelt dem folgenden Beispiel:

    Hello from the Contoso Resource Tagger extension!
    

Sie verfügen jetzt über eine funktionierende Erweiterung, auf der Sie aufbauen können.

Achten Sie während der Entwicklung auf Änderungen

Anstatt nach jeder Änderung azd x pack und azd x publish manuell auszuführen, verwenden Sie azd x watch, um die Erweiterung während der Entwicklung automatisch zu bauen und zu installieren.

  1. Starten Sie im Erweiterungsverzeichnis den Watcher:

    azd x watch
    
  2. Führen Sie in einem zweiten Terminal ihren Befehl aus, um Änderungen zu testen, während Sie sie vornehmen:

    azd tagger show
    

Um die Erweiterung manuell statt mit dem Watcher zu kompilieren, führen Sie azd x build aus.

Bereinigen von Ressourcen

Wenn Sie mit dem Experimentieren fertig sind, deinstallieren Sie die Beispielerweiterung:

azd extension uninstall contoso.azd.tagger

Wenn Sie die Beispielerweiterung weiterentwickeln möchten, lesen Sie die folgenden Artikel. Jeder Artikel ist unabhängig, sodass Sie sie in beliebiger Reihenfolge abschließen können: