Begrepp för tilläggsutveckling

Azure Developer CLI (azd) tillägg lägger till nya kommandon, automatiserar arbetsflöden och integrerar andra tjänster med azd. Den här artikeln beskriver de begrepp som du behöver förstå innan du skapar ett tillägg, till exempel utvecklarverktyg, SDK (Software Development Kit) och hur azd du kommunicerar med ett tillägg som körs. Information om vilka tillägg som är från ett användarperspektiv finns i översikten över tillägg.

Note

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

Utvecklartillägget

Det snabbaste sättet att skapa tillägg är att använda utvecklartillägget azd (microsoft.azd.extensions). Utvecklartillägget lägger till en uppsättning kommandon under namnområdet azd x som skapar, paketerar och publicerar tillägget:

Befallning Description
azd x init Skapar stommen till ett nytt tilläggsprojekt på det språk du väljer.
azd x build Skapar tilläggsbinärfilen för lokal utveckling.
azd x watch Bevakar projektet för ändringar och återskapar och installerar tillägget automatiskt.
azd x pack Paketera tilläggsartefakterna för att förbereda för publicering.
azd x release Skapar en GitHub version för tillägget.
azd x publish Uppdaterar ett tilläggsregister med de nya tilläggsmetadata.

Snabbstarten Skapa ett exempeltillägg visar hur du installerar utvecklartillägget och skapar ett första tillägg.

Utvecklartillägget stöder registerbaserade publiceringsarbetsflöden och distribution av portabla paket. Använd azd x pack för att skapa plattformsartefakter för publicering av versioner och register, eller skapa ett fristående .zip paket när du behöver dela ett tillägg utan att vara värd för ett register. Stegvis vägledning finns i Publicera ett tillägg.

Tilläggsramverket och gRPC

azd och tillägg körs som separata processer som kommunicerar via gRPC. När du anropar ett tilläggskommando utförs följande steg:

  1. azd startar en gRPC-server på en slumpmässig port och anger AZD_SERVER miljövariabeln med serveradressen.
  2. azd AZD_ACCESS_TOKEN anger miljövariabeln, som är en signerad JSON-webbtoken (JWT) som ger tillägget åtkomst till azd tjänster under kommandots livslängd.
  3. azd anropar tilläggskommandot och skickar aktuella argument, flaggor och miljövariabler.
  4. Tillägget använder en gRPC-klient för att kommunicera tillbaka till azd via ramverkets tjänster, till exempel genom att fråga användaren eller läsa projektkonfigurationen.
  5. azd väntar på att kommandot ska slutföras och rapporterar en avslutskod som inte är noll som ett fel.

Med den här modellen kan tillägg interagera med azd på ett konsekvent och säkert sätt utan direkt åtkomst till det interna azd tillståndet.

tilläggskrav på Project nivå

Projekt kan deklarera de tillägg som krävs i azure.yaml. Använd avsnittet requiredVersions.extensions för att lista tilläggs-ID:er och versionsbegränsningar så azd att du kan lösa de versioner som uppfyller projektet.

requiredVersions:
  extensions:
    azure.ai.agents: ">=1.0.0"
    contoso.azd.tagger: "^2.0.0"

Deklarera nödvändiga tillägg när ett projekt är beroende av värdar, leverantörer, livscykelhanterare, validering eller kommandon som tillhandahålls av tillägg. Det exakta schemat och versionssyntaxen som stöds finns i requiredVersions.

The azdext SDK

Paketet azdext är Go SDK för tilläggsramverket. Den tillhandahåller en gRPC-klient och hjälppersonal som hanterar kommunikationsinformationen åt dig, så att du kan fokusera på tilläggslogik. SDK:et innehåller hjälp för att:

  • Skapa ett rotkommando som registrerar standardflaggor azd och miljövariabelhantering.
  • azd Koppla åtkomsttoken till utgående begäranden.
  • Anropa azd ramtjänster, till exempel tjänsterna Project, Environment, Account och Prompt.
  • Registrera hanterare för livscykelhändelser och egna leverantörer via en värd för tillägg.

Information om hur du anropar azd tjänster från ditt tillägg finns i Kommunicera med azd med hjälp av SDK.

Tilläggsfunktioner

Funktioner deklarerar vad ett tillägg kan göra. Ange ett tilläggs funktioner i dess extension.yaml manifest, och azd beviljar motsvarande behörigheter vid körning. Tillgängliga funktioner är:

  • custom-commands: Lägg till nya kommandogrupper och kommandon i azd.
  • lifecycle-events: Prenumerera på projekt- och tjänstlivscykelhändelser, till exempel preprovision och postdeploy.
  • mcp-server: Tillhandahålla MCP-verktyg (Model Context Protocol) för AI-agenter.
  • service-target-provider: Ange distributionsmål för anpassade tjänster.
  • framework-service-provider: Ge stöd för anpassat språk och ramverksbygge.
  • provisioning-provider: Tillhandahålla en anpassad infrastrukturetableringsmiljö.
  • validation-provider: Bidra med verifieringskontroller till valideringspipelinen azd .
  • metadata: Ge omfattande kommando- och konfigurationsmetadata för hjälputdata och IntelliSense.

Mer information om hur du lägger till funktioner i ett tillägg finns i Lägga till tilläggsfunktioner.

Språk som stöds

Du kan skapa azd tillägg på valfritt språk som stöder gRPC och azd x init innehåller startmallar för flera språk. Go har det mest kompletta stödet, inklusive förstklassiga SDK-hjälpfunktioner azdext , så artiklarna i det här avsnittet använder Go för alla exempel.

Language Supportnivå
Bästa support och förstklassigA SDK-hjälp.
.NET (C#) Stark integrering med en startmall.
Python Bra integrering med en startmall.
Javascript Grundläggande integrering med en startmall.

För tillägg som har skapats på andra språk än Go kan du generera gRPC-klienter från proto-filerna på lagringsplatsen azure/azure-dev . Den aktuella statusen för språkstödet finns i den officiella dokumentationen för tilläggsramverket.

Tilläggsregister

Du distribuerar tillägg via tilläggskällor. Tilläggskällor är URL-baserade eller filbaserade manifest som beskriver tillgängliga tillägg och deras artefakter. azd stöder även portabla paketfiler för direkt installation när du inte vill vara värd för ett register.

  • Det officiella registret är förkonfigurerat i azd och innehåller granskade, egenutvecklade tillägg. Officiella tillägg utvecklas i en fork av lagringsplatsen azure/azure-dev.
  • Med URL-baserade källor kan du installera från offentliga eller privata fjärrregistermanifest.
  • Med filbaserade källor kan du installera från lokala registermanifest för utvecklings-, testnings- eller offlinescenarier.
  • Utvecklings- och nattliga register är opt-in-källor för pågående arbete och skapar automatiskt tillägg från första part. Tillägg i dev-registret är osignerade, omfattas inte av Azure support och kan ändras eller tas bort utan föregående meddelande.

Information om hur du publicerar ett tillägg till ett register finns i Publicera ett tillägg.