Definiera tilläggsmanifestet

Varje Azure Developer CLI-tillägg (azd) innehåller ett extension.yaml manifest som beskriver dess metadata och funktioner. azd använder dessa metadata i tilläggsregistret för att hjälpa användare att identifiera, installera och förstå ditt tillägg. I den här artikeln beskrivs manifestegenskaperna med hjälp av exempeltillägget Contoso Resource Tagger från snabbstarten Skapa ett exempeltillägg. Du kan använda samma begrepp för alla tillägg.

Note

azd tillägg är för närvarande i betaversion.

Manifestegenskaper

Manifestet extension.yaml stöder följande egenskaper.

Nödvändiga egenskaper

Varje manifest måste innehålla följande egenskaper:

Property Description
id Unik identifierare för tillägget, till exempel contoso.azd.tagger.
version Semantisk version i MAJOR.MINOR.PATCH format.
displayName Tilläggets namn i läsbar form.
description Detaljerad beskrivning av tillägget.

Varje manifest måste också innehålla antingen capabilities eller dependencies. Ett tillägg som tillhandahåller kommandon eller leverantörer deklarerar capabilities. Ett tilläggspaket deklarerar dependencies i stället.

Valfria egenskaper

Manifestet stöder även följande valfria egenskaper:

Property Description
namespace Kommandonamnområde som grupperar tilläggets kommandon, till exempel tagger.
entryPoint Körbar fil eller skript som fungerar som startpunkt.
language Programmeringsspråket som tillägget är skrivet i, till exempel go.
capabilities Uppsättning utökningsmöjligheter.
usage Instruktioner för hur du använder tillägget.
examples Matris med användningsexempel med namn, beskrivning och användning.
tags Nyckelord för kategorisering och filtrering.
dependencies Andra tillägg som det här tillägget är beroende av.
providers Lista över leverantörer som tillägget registrerar.
platforms Plattformsspecifika metadata.
mcp Serverkonfiguration för Modellkontextprotokoll.
requiredAzdVersion Semantisk versionsvillkor för den azd version som krävs för att använda tillägget, till exempel >= 1.24.0.

Exempelmanifest

I följande exempel visas ett extension.yaml manifest för exempeltillägget Contoso Resource Tagger:

# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/refs/heads/main/cli/azd/extensions/extension.schema.json

id: contoso.azd.tagger
namespace: tagger
displayName: Contoso Resource Tagger
description: Standardize and report Azure resource tags for an azd project.
usage: azd tagger <command> [options]
version: 0.1.0
language: go
capabilities:
  - custom-commands

examples:
  - name: show
    description: Displays a greeting from the extension.
    usage: azd tagger show

tags:
  - tags
  - governance
  - example

Kommentaren $schema överst i filen möjliggör validering och IntelliSense i redigeringsprogram som stöder YAML-språkservern.

Deklarera funktioner

Matrisen capabilities deklarerar vad tillägget kan göra. azd beviljar motsvarande behörigheter under körning, och vissa tjänster i ramverket misslyckas på grund av ett behörighetsfel om motsvarande kapacitet inte deklareras. Exempeltillägget börjar med endast custom-commands:

capabilities:
  - custom-commands

När du lägger till funktioner i de andra artiklarna lägger du till fler funktioner. Lägg till exempel tilläggsfunktioner lägger till lifecycle-events, och Lägg till en MCP-server i ett tillägg lägger till mcp-server. De tillgängliga funktionerna är:

  • custom-commands: Lägg till nya kommandon i azd under din namnrymd, till exempel azd tagger show.
  • lifecycle-events: Kör anpassad logik när azd genererar händelser som preprovision eller postdeploy.
  • mcp-server: Exponera verktyg för modellkontextprotokoll som AI-agenter kan anropa.
  • service-target-provider: Lägg till ett anpassat distributionsmål för en host som azd inte stöder som standard.
  • framework-service-provider: Lägg till bygg- och paketstöd för en language som azd inte känner igen som standard.
  • provisioning-provider: Ersätt hur azd etablerar infrastruktur med en anpassad implementering.
  • validation-provider: Lägg till kontroller som körs i valideringspipelinen azd .
  • metadata: Ge mer omfattande kommando- och konfigurationsmetadata för hjälputdata och IntelliSense.

En mer fullständig förklaring av varje funktion med exempel finns i Lägga till tilläggsfunktioner.

Lägga till användningsexempel

Matrisen examples dokumenterar vanliga sätt att använda tillägget. azd visar dessa exempel när användarna visar information om ditt tillägg:

examples:
  - name: show
    description: Displays a greeting from the extension.
    usage: azd tagger show

Registrera providrar

När tillägget tillhandahåller anpassade tjänstmål eller ramverkstjänster deklarerar du dem i providers avsnittet så azd att du vet vad tillägget erbjuder:

providers:
  - name: tagger
    type: service-target
    description: Deploys tagged resources to Azure.

Lägga till plattformsspecifik konfiguration

Använd egenskapen platforms för att tillhandahålla plattformsspecifika metadata, till exempel det körbara namnet för varje operativsystem.

platforms:
  windows:
    executable: tagger.exe
  linux:
    executable: tagger
  darwin:
    executable: tagger

Deklarera beroenden

Tillägg kan vara beroende av andra tillägg genom att använda arrayen dependencies. Beroenden stöder begränsningar för semantisk versionshantering:

dependencies:
  - id: microsoft.azd.core
    version: "^1.0.0"

azd installerar eller uppgraderar till den högsta publicerade versionen som uppfyller varje villkor. Vanliga villkorsformat är:

  • ^1.0.0: Kompatibel med version 1.x.x.
  • ~1.2.0: Kompatibel med version 1.2.x.
  • >=1.0.0 <2.0.0: Ett versionsintervall.

Gruppera tillägg med tilläggspaket

Ett tilläggspaket är ett manifest som grupperar relaterade tillägg så att användarna kan installera dem med ett enda kommando. Ett paket deklarerar dependencies men tillhandahåller inte en körbar fil, ett kommandonamnområde eller egna funktioner. Använd ett paket för att publicera en kuraterad uppsättning tillägg, till exempel en produktfamilj eller ett scenariopaket:

# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/refs/heads/main/cli/azd/extensions/extension.schema.json

id: contoso.tools
displayName: Contoso Tools Extension Pack
description: Installs the Contoso azd extensions.
version: 0.1.0

dependencies:
  - id: contoso.azd.tagger
    version: "~0.1.0"

När du installerar ett paket installeras rekursivt dess beroenden från samma tilläggskälla som paketet.