Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Developer CLI (azd) rozšíření přidávají nové příkazy, automatizují pracovní postupy a integrují další služby do azd. Tento článek vysvětluje koncepty, které potřebujete pochopit před vytvořením rozšíření, jako jsou nástroje pro vývojáře, sada SDK (Software Development Kit) a způsob azd komunikace se spuštěným rozšířením. Informace o rozšířeních z pohledu uživatele najdete v přehledu rozšíření.
Rozšíření pro vývojáře
Nejrychlejší způsob, jak vytvářet rozšíření, je použít azd vývojářské rozšíření (microsoft.azd.extensions). Rozšíření pro vývojáře přidává sadu příkazů pod obor názvů azd x, které vytvářejí kostru, sestavují, balí a publikují vaše rozšíření:
| Command | Description |
|---|---|
azd x init |
Vygeneruje nový projekt rozšíření v jazyce, který si zvolíte. |
azd x build |
Vytvoří binární soubor rozšíření pro lokální vývoj. |
azd x watch |
Sleduje změny projektu a automaticky znovu sestaví a nainstaluje rozšíření. |
azd x pack |
Zabalí artefakty rozšíření pro přípravu na publikování. |
azd x release |
Vytvoří vydání rozšíření na GitHubu. |
azd x publish |
Aktualizuje registr rozšíření pomocí nových metadat rozšíření. |
Rychlý úvod k vytvoření ukázkového rozšíření ukazuje, jak nainstalovat vývojářské rozšíření a vygenerovat kostru svého prvního rozšíření.
Rozšíření pro vývojáře podporuje pracovní postupy publikování založené na registru a distribuci přenosných sad. Pomocí azd x pack vytvoříte artefakty platformy pro vydání a publikování v registru, nebo vytvořte samostatný balíček .zip, pokud potřebujete sdílet rozšíření bez nutnosti hostovat registr. Balíčky je možné nainstalovat z místního souboru nebo vzdáleně hostovat na adrese URL HTTPS. Podrobné pokyny najdete v tématu Publikování rozšíření.
Architektura rozšíření a gRPC
azd a rozšíření běží jako samostatné procesy, které komunikují pomocí gRPC. Při vyvolání příkazu rozšíření dojde k následujícím krokům:
-
azdspustí server gRPC na náhodném portu a nastavíAZD_SERVERproměnnou prostředí s adresou serveru. -
azdnastaví proměnnouAZD_ACCESS_TOKENprostředí, což je podepsaný webový token JSON (JWT), který uděluje rozšíření přístup keazdslužbám po celou dobu platnosti příkazu. -
azdvyvolá příkaz rozšíření a předá aktuální argumenty, příznaky a proměnné prostředí. - Vaše rozšíření používá klienta gRPC ke komunikaci s
azdprostřednictvím služeb frameworku, například k vyzvání uživatele nebo ke čtení konfigurace projektu. -
azdčeká na dokončení příkazu a hlásí nenulový ukončovací kód jako chybu.
Tento model umožňuje, aby rozšíření komunikovali azd konzistentním a zabezpečeným způsobem bez přímého přístupu k internímu azd stavu.
požadavky na rozšíření na úrovni projektu
Projekty mohou deklarovat rozšíření, která vyžadují v azure.yaml. V tomto oddílu requiredVersions.extensions můžete zobrazit seznam ID rozšíření a omezení verzí, abyste azd mohli vyřešit verze, které vyhovují projektu.
requiredVersions:
extensions:
azure.ai.agents: ">=1.0.0"
contoso.azd.tagger: "^2.0.0"
Deklarujte požadovaná rozšíření, pokud projekt závisí na hostitelích, poskytovatelích, obslužných rutinách životního cyklu, ověřování nebo příkazech poskytovaných rozšířením. Přesné schéma a podporovanou syntaxi verzí viz requiredVersions.
Sada azdext SDK
Balíček azdext je sada Go SDK pro architekturu rozšíření. Poskytuje klienta gRPC a pomocné rutiny, které za vás zpracovávají podrobnosti komunikace, abyste se mohli zaměřit na logiku rozšíření. SDK obsahuje pomocné funkce pro:
- Vytvořte kořenový příkaz, který zaregistruje standardní
azdpříznaky a zpracování proměnných prostředí. -
azdPřipojte přístupový token k odchozím požadavkům. - Volejte
azdslužby frameworku, jako jsou služby Project, Environment, Account a Prompt. - Nahlašujte pojmenované události používání prostřednictvím rozhraní gRPC API
TelemetryService.ReportUsagepro rozšíření z oficiálních zdrojů. Podrobnosti o využití rozhraní API najdete v tématu Komunikace s azd pomocí sady SDK. - Zaregistrujte obslužné rutiny pro události životního cyklu a vlastní poskytovatele prostřednictvím hostitelského prostředí rozšíření.
Informace o tom, jak volat azd služby z vašeho rozšíření, najdete v tématu Komunikace s azd pomocí sady SDK.
Možnosti rozšíření
Možnosti deklarují, co rozšíření může dělat. Vypište možnosti rozšíření v extension.yaml manifestu a azd udělte odpovídající oprávnění za běhu. Mezi dostupné funkce patří:
-
custom-commands: Přidání nových skupin příkazů a příkazů doazd. -
lifecycle-events: Přihlaste se k odběru událostí životního cyklu projektu a služeb, napříkladpreprovisionapostdeploy. -
mcp-server: Zadejte nástroje MCP (Model Context Protocol) pro agenty AI. -
service-target-provider: Zadejte vlastní cíle nasazení služby. -
framework-service-provider: Poskytování podpory sestavení vlastního jazyka a architektury. -
provisioning-provider: Poskytnout vlastní prostředí pro nasazování infrastruktury. -
validation-provider: Přispívání ověřovacích kontrol do ověřovacíhoazdkanálu. -
metadata: Poskytuje bohaté metadata příkazů a konfigurace pro výstup nápovědy a IntelliSense.
Další informace o tom, jak do rozšíření přidat možnosti, najdete v tématu Přidání možností rozšíření.
Podporované jazyky
Rozšíření můžete vytvářet azd v libovolném jazyce, který podporuje gRPC, a azd x init obsahuje úvodní šablony pro několik jazyků. Go má nejkomplexnější podporu, včetně plnohodnotných azdext pomocných nástrojů sady SDK, proto všechny příklady v článcích v této části používají jazyk Go.
| Jazyk | Úroveň podpory |
|---|---|
| Go | Špičková podpora a prvotřídní pomocné nástroje SDK. |
| .NET (C#) | Silná integrace s úvodní šablonou |
| Python | Dobrá integrace s úvodní šablonou. |
| JavaScript | Základní integrace s úvodní šablonou |
U rozšíření vytvořených v jiných jazycích než Go můžete vygenerovat klienty gRPC ze souborů proto v azure/azure-dev úložišti. Aktuální stav podpory jazyka najdete v dokumentaci k upstreamové platformě rozšíření.
Registr rozšíření
Rozšíření distribuujete prostřednictvím zdrojů registru nebo sad rozšíření. Zdroje registru jsou manifesty založené na adrese URL nebo souborové, které popisují dostupná rozšíření a jejich artefakty. Balíčky rozšíření jsou přenosné .zip balíčky, které můžete nainstalovat přímo z místního souboru nebo je hostovat vzdáleně na adrese URL HTTPS, pokud nechcete hostovat registr.
-
Oficiální registr je předem nakonfigurován v
azda hostuje prověřená rozšíření od prvních stran. Oficiální rozšíření se vyvíjejí ve forku úložiště azure/azure-dev. - Zdroje založené na adrese URL umožňují instalaci ze vzdálených veřejných nebo privátních manifestů registru.
- Zdroje založené na souborech umožňují instalovat z manifestů místního registru pro scénáře vývoje, testování nebo offline.
- Vývojový a nightly registry jsou volitelné zdroje pro rozpracovaná a automaticky sestavovaná oficiální rozšíření. Rozšíření v registru pro vývoj jsou nepodepsaná, nejsou pokryta podpora Azure a je možné je změnit nebo odebrat bez předchozího upozornění.
Informace o publikování rozšíření do registru najdete v tématu Publikování rozšíření.