Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque extension AZURE Developer CLI (azd) inclut un extension.yaml manifeste qui décrit ses métadonnées et ses fonctionnalités.
azd utilise ces métadonnées dans le Registre d’extensions pour aider les utilisateurs à découvrir, installer et comprendre votre extension. Cet article explique les propriétés du manifeste en utilisant l’extension d’exemple Contoso Resource Tagger du guide de démarrage rapide Créer une extension d’exemple. Vous pouvez appliquer les mêmes concepts à n’importe quelle extension.
Note
azd les extensions sont actuellement en version bêta.
Propriétés du manifeste
Le extension.yaml manifeste prend en charge les propriétés suivantes.
Propriétés requises
Chaque manifeste doit inclure les propriétés suivantes :
| Propriété | Description |
|---|---|
id |
Identificateur unique de l’extension, tel que contoso.azd.tagger. |
version |
Version sémantique au MAJOR.MINOR.PATCH format. |
displayName |
Nom compréhensible de l’extension. |
description |
Description détaillée de l’extension. |
Chaque manifeste doit également inclure soit capabilities, soit dependencies. Une extension qui fournit des commandes ou des fournisseurs de services déclare capabilities. Un pack d’extensions déclare dependencies à la place.
Propriétés facultatives
Le manifeste prend également en charge les propriétés facultatives suivantes :
| Propriété | Description |
|---|---|
namespace |
Espace de noms de commandes qui regroupe les commandes de l’extension, telles que tagger. |
entryPoint |
Exécutable ou script qui sert de point d’entrée. |
language |
Langage de programmation dans lequel l’extension est écrite, tel que go. |
capabilities |
Tableau de fonctionnalités d’extension. |
usage |
Instructions sur l’utilisation de l’extension. |
examples |
Tableau d’exemples d’utilisation avec un nom, une description et une utilisation. |
tags |
Mots clés pour la catégorisation et le filtrage. |
dependencies |
Les autres extensions dont dépend cette extension. |
providers |
Liste des fournisseurs que l’extension enregistre. |
platforms |
Métadonnées spécifiques à la plateforme. |
mcp |
Configuration du serveur Model Context Protocol. |
requiredAzdVersion |
Contrainte de version sémantique portant sur la azd version requise pour utiliser l’extension, par exemple >= 1.24.0. |
Exemple de manifeste
L’exemple suivant présente le manifeste extension.yaml de l’extension d’exemple 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
Le $schema commentaire situé en haut du fichier active la validation et IntelliSense dans les éditeurs qui prennent en charge le serveur de langage YAML.
Déclarer des fonctionnalités
Le capabilities tableau déclare ce que votre extension peut faire.
azd accorde les autorisations correspondantes au moment de l’exécution et certains services d’infrastructure échouent avec une erreur d’autorisation si la fonctionnalité correspondante n’est pas déclarée. L’exemple d’extension commence uniquement par custom-commands :
capabilities:
- custom-commands
Lorsque vous ajoutez des fonctionnalités dans les autres articles, vous ajoutez d’autres fonctionnalités. Par exemple, ajouter des fonctionnalités d’extension ajoute lifecycle-events, et ajouter un serveur MCP à une extension ajoute mcp-server. Les fonctionnalités disponibles sont les suivantes :
-
custom-commands: Ajoutez de nouvelles commandes àazdsous votre espace de noms, commeazd tagger show. -
lifecycle-events: Exécuter une logique personnalisée lorsqueazddéclenche des événements commepreprovisionoupostdeploy. -
mcp-server: Exposez les outils Model Context Protocol que les agents IA peuvent invoquer. -
service-target-provider: Ajoutez une cible de déploiement personnalisée pour unhostquiazdne prend pas en charge par défaut. -
framework-service-provider: Ajoutez la prise en charge de build et de package pour unlanguageélément quiazdne reconnaît pas par défaut. -
provisioning-provider: remplacez la configurationazdde l’infrastructure par une implémentation personnalisée. -
validation-provider: ajoutez des vérifications qui s’exécutent dans le pipeline de validationazd. -
metadata: fournissez des métadonnées de commande et de configuration plus riches pour la sortie d’aide et IntelliSense.
Pour obtenir une explication complète de chaque fonctionnalité avec des exemples, consultez Ajouter des fonctionnalités d’extension.
Ajouter des exemples d’utilisation
Le examples tableau documente les méthodes courantes d’utilisation de votre extension.
azd présente ces exemples lorsque les utilisateurs affichent des détails sur votre extension :
examples:
- name: show
description: Displays a greeting from the extension.
usage: azd tagger show
Inscrire des fournisseurs
Lorsque votre extension fournit des cibles de service personnalisées ou des services d’infrastructure, déclarez-les dans la providers section pour azd savoir ce que votre extension offre :
providers:
- name: tagger
type: service-target
description: Deploys tagged resources to Azure.
Ajouter une configuration spécifique à la plateforme
Utilisez la propriété pour fournir des métadonnées spécifiques à la platforms plateforme, telles que le nom exécutable de chaque système d’exploitation.
platforms:
windows:
executable: tagger.exe
linux:
executable: tagger
darwin:
executable: tagger
Déclarer des dépendances
Les extensions peuvent dépendre d’autres extensions en utilisant le tableau dependencies. Les dépendances prennent en charge les contraintes de versionnement sémantique :
dependencies:
- id: microsoft.azd.core
version: "^1.0.0"
azd installe ou met à niveau vers la version publiée la plus élevée qui satisfait à chaque contrainte. Les formats de contrainte courants sont les suivants :
-
^1.0.0: compatible avec la version 1.x.x. -
~1.2.0: compatible avec la version 1.2.x. -
>=1.0.0 <2.0.0: une plage de versions.
Regrouper des extensions à l’aide de packs d’extensions
Un pack d’extensions est un manifeste qui regroupe les extensions associées afin que les utilisateurs puissent les installer avec une seule commande. Un pack déclare dependencies , mais ne fournit pas d’exécutable, d’espace de noms de commande ou de fonctionnalités propres. Utilisez un pack pour publier un ensemble organisé d’extensions, comme une famille de produits ou un bundle de scénarios :
# 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"
L’installation d’un pack installe de manière récursive ses dépendances à partir de la même source d’extension que le pack.