Inicio rápido: Compilación de una extensión azd de ejemplo

En este inicio rápido, crea una extensión de ejemplo de Azure Developer CLI (azd) llamada Contoso Resource Tagger. Utiliza la extensión para desarrolladores azd para crear la estructura base de un proyecto de Go, añadir un comando personalizado y ejecutar la extensión localmente. La extensión de ejemplo que cree es el punto de partida de los otros artículos de esta sección, que muestran cómo agregar funcionalidades, comunicarse con azd, agregar un servidor de Protocolo de contexto de modelo (MCP) y publicar el trabajo.

Para obtener información sobre los conceptos subyacentes al desarrollo de extensiones antes de empezar, consulte Conceptos de desarrollo de extensiones.

Note

El azd marco de trabajo de extensión está disponible con carácter general. Es posible que las extensiones o funcionalidades individuales tengan su propio estado de vista previa.

Prerequisites

azd incluye el origen de la extensión oficial de forma predeterminada. También puede instalar extensiones desde orígenes basados en direcciones URL o basados en archivos, registros de desarrollo local, registros de desarrollo local o registros de participación o registros nocturnos y agrupaciones portátiles .zip . Para más información, consulte Conceptos de desarrollo de extensiones.

Sugerencia

Si un azd proyecto depende de hosts, proveedores, validación, controladores de ciclo de vida o comandos proporcionados por la extensión, declare esas extensiones necesarias con azure.yaml restricciones de versión. Para obtener más información, consulte requiredVersions.

Instalación de la extensión para desarrolladores

La azd extensión para desarrolladores (microsoft.azd.extensions) proporciona los azd x comandos que se usan para compilar extensiones.

  1. Instale la extensión para desarrolladores desde el origen oficial de la extensión:

    azd extension install microsoft.azd.extensions
    
  2. Compruebe que la extensión está instalada:

    azd extension list --installed
    

    La extensión de desarrollador registra una serie de comandos bajo el espacio de nombres x. Ejecute azd x para ver los comandos disponibles.

Generar la estructura de la extensión de ejemplo

Usa el comando azd x init para crear la estructura de un nuevo proyecto de extensión.

  1. Cree y cambie a un directorio para las extensiones:

    mkdir azd-extensions
    cd azd-extensions
    
  2. Inicialice un repositorio de Git y cree una confirmación inicial. El azd x init comando requiere que git realice el seguimiento de la carpeta de extensión:

    git init
    git commit --allow-empty -m "Initial commit"
    
  3. Ejecute el comando azd x init para generar la estructura de la extensión:

    azd x init
    
  4. Cuando se le solicite, proporcione los siguientes valores:

    Prompt Valor
    Id. de extensión contoso.azd.tagger
    Nombre para mostrar Contoso Resource Tagger
    Description Standardize and report Azure resource tags for an azd project.
    Namespace tagger
    Capabilities Custom commands
    Language Go

El comando genera la estructura base de la extensión, compila los binarios iniciales, empaqueta la extensión, la publica en un origen local de extensiones y la instala localmente para usarla de inmediato.

Exploración de la estructura del proyecto

El azd x init comando genera un proyecto con los siguientes archivos de clave:

contoso.azd.tagger/
├── bin/                    # Contains built binaries
├── build.ps1               # Windows build script
├── build.sh                # Unix build script
├── CHANGELOG.md            # Version history and release notes
├── extension.yaml          # Extension metadata and capabilities
├── main.go                 # Entry point for the extension
├── go.mod                  # Go module definition
└── internal/               # Internal implementation code

Los archivos más importantes son:

  • extension.yaml: define los metadatos, las funcionalidades y los comandos de la extensión. Para obtener más información, consulte Definición del manifiesto de extensión.
  • main.go: el punto de entrada que ejecuta el comando raíz de la extensión.
  • build.shy build.ps1: scripts de compilación multiplataforma que compilan un binario independiente para cada plataforma compatible (Linux, Windows y macOS).
  • CHANGELOG.md: Documenta los cambios entre versiones y proporciona notas de versión cuando publicas.

Adición de un comando personalizado

Agregue un show comando que imprima un saludo para comprobar que la extensión funciona. El diseño exacto del archivo depende de la plantilla de inicio, pero el patrón es el mismo: defina un comando Cobra y regístrelo en el comando raíz.

  1. En el internal/cmd directorio, cree un archivo denominado show.go con el siguiente contenido:

    package cmd
    
    import (
        "fmt"
    
        "github.com/spf13/cobra"
    )
    
    func newShowCommand() *cobra.Command {
        return &cobra.Command{
            Use:   "show",
            Short: "Displays a greeting from the Contoso Resource Tagger extension.",
            RunE: func(cmd *cobra.Command, args []string) error {
                fmt.Println("Hello from the Contoso Resource Tagger extension!")
                return nil
            },
        }
    }
    
  2. Registre el comando en el comando raíz. En el internal/cmd/root.go archivo, agregue la siguiente línea hacia la parte inferior del archivo después de las otras AddCommand funciones:

    rootCmd.AddCommand(newShowCommand())
    

Ejecución de la extensión

Antes de ejecutar la extensión, empaquetela y publíquela en el origen de la extensión local para registrar los cambios.

  1. Empaquetar la extensión:

    azd x pack
    
  2. Publique la extensión para registrarla:

    azd x publish
    
  3. Ejecute el nuevo comando:

    azd tagger show
    

    La salida se parece a la del ejemplo siguiente:

    Hello from the Contoso Resource Tagger extension!
    

Ahora tiene una extensión funcional sobre la que puede seguir desarrollando.

Vigile los cambios durante el desarrollo

En lugar de ejecutar azd x pack manualmente y azd x publish después de cada cambio, use azd x watch para compilar e instalar automáticamente la extensión a medida que desarrolle.

  1. En el directorio de extensión, inicie el monitor:

    azd x watch
    
  2. En un segundo terminal, ejecute el comando para probar los cambios a medida que los realice:

    azd tagger show
    

Para compilar la extensión manualmente en lugar de usar el supervisor, ejecute azd x build.

Limpieza de recursos

Cuando termine de experimentar, desinstale la extensión de ejemplo:

azd extension uninstall contoso.azd.tagger

Para seguir desarrollando a partir de la extensión de ejemplo, consulte los siguientes artículos. Cada artículo es independiente, por lo que puede completarlos en cualquier orden: