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.
Každé rozšíření Azure Developer CLI (azd) obsahuje manifest extension.yaml, který popisuje jeho metadata a schopnosti.
azd používá tato metadata v registru rozšíření, aby uživatelům pomohla zjistit, nainstalovat a pochopit vaše rozšíření. Tento článek vysvětluje vlastnosti manifestu pomocí ukázkového rozšíření Contoso Resource Tagger z rychlého startu Sestavení ukázkového rozšíření. Stejné koncepty můžete použít u libovolného rozšíření.
Note
azd rozšíření jsou aktuálně v beta verzi.
Vlastnosti manifestu
Manifest extension.yaml podporuje následující vlastnosti.
Požadované vlastnosti
Každý manifest musí obsahovat následující vlastnosti:
| Property | Description |
|---|---|
id |
Jedinečný identifikátor rozšíření, například contoso.azd.tagger. |
version |
Sémantická verze ve MAJOR.MINOR.PATCH formátu. |
displayName |
Název rozšíření ve srozumitelné podobě. |
description |
Podrobný popis rozšíření |
Každý manifest musí obsahovat také buď capabilities nebo dependencies. Rozšíření, které poskytuje příkazy nebo poskytovatele, deklaruje capabilities.
Sada rozšíření místo toho deklaruje dependencies.
Volitelné vlastnosti
Manifest také podporuje následující volitelné vlastnosti:
| Property | Description |
|---|---|
namespace |
Obor názvů příkazů, který seskupuje příkazy rozšíření, například tagger. |
entryPoint |
Spustitelný soubor nebo skript, který slouží jako vstupní bod. |
language |
Programovací jazyk, ve kterém je rozšíření napsané, například go. |
capabilities |
Pole možností rozšíření |
usage |
Pokyny k použití rozšíření |
examples |
Pole příkladů použití s názvem, popisem a využitím |
tags |
Klíčová slova pro kategorizaci a filtrování |
dependencies |
Další rozšíření, na které toto rozšíření závisí. |
providers |
Seznam poskytovatelů, které rozšíření registruje |
platforms |
Metadata specifická pro platformu |
mcp |
Konfigurace serveru protokolu Model Context Protocol |
requiredAzdVersion |
Omezení sémantické verze pro verzi azd, která je vyžadována pro použití rozšíření, například >= 1.24.0. |
Příklad manifestu
Následující příklad znázorňuje soubor manifestu extension.yaml pro ukázkové rozšíření 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
Komentář $schema v horní části souboru umožňuje ověřování a Technologii IntelliSense v editorech, které podporují jazykový server YAML.
Deklarace možností
Pole capabilities deklaruje, co vaše rozšíření může dělat.
azd uděluje odpovídající oprávnění za běhu a některé služby frameworku selžou kvůli chybě oprávnění, pokud není deklarována odpovídající schopnost. Ukázkové rozšíření začíná pouze s custom-commands:
capabilities:
- custom-commands
Při přidávání funkcí v dalších článcích přidáte další možnosti. Například Přidat možnosti rozšíření přidá lifecycle-eventsa přidat server MCP do rozšíření přidá mcp-server. Dostupné funkce jsou:
-
custom-commands: Přidejte nové příkazy doazdpod svým oborem názvů, napříkladazd tagger show. -
lifecycle-events: Spusťte vlastní logiku, kdyžazdvyvolá události, jako jsoupreprovisionnebopostdeploy. -
mcp-server: Zveřejnění nástrojů protokolu kontextového modelu, které můžou volat agenti umělé inteligence. -
service-target-provider: Přidejte vlastní cíl nasazení prohostslužbu, kteráazdve výchozím nastavení nepodporuje. -
framework-service-provider: Přidejte podporu pro sestavení a vytváření balíčků prolanguage, kterouazdve výchozím nastavení nerozpoznává. -
provisioning-provider: Nahraďte způsob, jakýmazdzřizuje infrastrukturu vlastní implementací. -
validation-provider: Přidejte kontroly, které se spouštějí v kanálu ověřováníazd. -
metadata: Poskytuje podrobnější metadata o příkazech a konfiguraci pro výstup nápovědy a IntelliSense.
Úplné vysvětlení jednotlivých funkcí s příklady najdete v tématu Přidání možností rozšíření.
Přidání příkladů použití
Pole examples popisuje běžné způsoby použití vašeho rozšíření.
azd zobrazí tyto příklady, když uživatelé zobrazí podrobnosti o vašem rozšíření:
examples:
- name: show
description: Displays a greeting from the extension.
usage: azd tagger show
Registrace poskytovatelů
Pokud vaše rozšíření poskytuje vlastní cíle služeb nebo služby architektury, deklarujte je v providers části, takže azd ví, co vaše rozšíření nabízí:
providers:
- name: tagger
type: service-target
description: Deploys tagged resources to Azure.
Přidání konfigurace specifické pro platformu
platforms Pomocí vlastnosti můžete poskytnout metadata specifická pro platformu, jako je například název spustitelného souboru pro každý operační systém.
platforms:
windows:
executable: tagger.exe
linux:
executable: tagger
darwin:
executable: tagger
Deklarace závislostí
Rozšíření můžou záviset na jiných rozšířeních pomocí dependencies pole. Závislosti podporují sémantická omezení správy verzí:
dependencies:
- id: microsoft.azd.core
version: "^1.0.0"
azd nainstaluje nebo upgraduje na nejvyšší verzi závislostí, která splňuje každé omezení a je kompatibilní s aktuální azd verzí na základě vlastnosti závislosti requiredAzdVersion . Pokud omezení vyhovují jenom nekompatibilním verzím, azd nahlásí chybu kompatibility a poskytne pokyny k jeho vyřešení. Mezi běžné formáty omezení patří:
-
^1.0.0: Kompatibilní s verzí 1.x.x. -
~1.2.0: Kompatibilní s verzí 1.2.x. -
>=1.0.0 <2.0.0: Rozsah verzí.
Rozšíření skupin s balíčky rozšíření
Balíček rozšíření je manifest, který seskupuje související rozšíření, aby je uživatelé mohli nainstalovat jediným příkazem. Balíček deklaruje dependencies , ale neposkytuje spustitelný soubor, obor názvů příkazů ani vlastní funkce. Balíček použijte k publikování kurátorované sady rozšíření, jako je řada produktů nebo sada scénářů:
# 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"
Při instalaci balíčku se rekurzivně nainstalují jeho závislosti. Pro každou závislost vybere nejvyšší verzi, azd která splňuje deklarované omezení, a je kompatibilní s aktuální azd verzí na základě vlastnosti závislosti requiredAzdVersion .