Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El sistema de enlace de la CLI para desarrolladores de Azure (azd) admite Python, JavaScript, TypeScript y .NET además de Bash y PowerShell.
azd detecta automáticamente el lenguaje de la extensión de archivo, administra las dependencias y ejecuta el script sin que se requiera ninguna configuración adicional.
Los enlaces permiten ejecutar lógica personalizada en puntos clave del ciclo de vida, como antes del azd aprovisionamiento, después de la implementación, etc. Para obtener información general sobre los enlaces, incluidos los eventos de enlace disponibles y las opciones de configuración, consulte Personalización de flujos de trabajo mediante enlaces de comandos y eventos.
Prerequisites
- Instalación de azd
- El entorno de ejecución del idioma elegido debe estar instalado en el equipo:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: SDK de .NET
Detección de idioma
Apunte un gancho a un archivo de script en azure.yaml, y azd infiere el idioma de la extensión del archivo. Si la extensión es ambigua o falta, especifique el idioma explícitamente con el kind campo :
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Hooks de Python
Para escribir un hook de Python, cree un archivo .py y haga referencia a él en azure.yaml. Coloque un `requirements.txt` o un `pyproject.toml` en el mismo directorio que el script o en un directorio padre.
azd recorre el árbol de directorios desde la ubicación del script para buscar el archivo de proyecto más cercano, crea un entorno virtual, instala dependencias y ejecuta el script.
Estructura de directorios de ejemplo
hooks/
├── setup.py
└── requirements.txt
Ejemplo de configuración
hooks:
preprovision:
run: ./hooks/setup.py
Configuración específica de Python
Use el config bloque para invalidar el nombre predeterminado del entorno virtual.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Hooks de JavaScript y TypeScript
Para escribir hooks de JavaScript o TypeScript, cree un archivo .js o .ts y referencia este en su azure.yaml. Coloque un package.json en el mismo directorio que su script o un directorio padre.
azd ejecuta npm install (o el administrador de paquetes especificado en el config bloque) y ejecuta el script. Los scripts de TypeScript se ejecutan mediante npx tsx sin necesidad de pasos de compilación ni de tsconfig.json.
Estructura de directorios de ejemplo
hooks/
├── seed.ts
└── package.json
Ejemplo de configuración
hooks:
postdeploy:
run: ./hooks/seed.ts
Configuración de JavaScript y TypeScript
Use el config bloque para especificar un administrador de paquetes preferido.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Enlaces de .NET
Se admiten dos modos para los enlaces de .NET:
-
Modo de proyecto: si existe un
.csproj,.fsprojo.vbprojen el mismo directorio que el script o un directorio primario,azdse ejecuta ydotnet restoreautomáticamentedotnet build. -
Modo de archivo único: en .NET 10+, los archivos independientes
.csse ejecutan directamente a través dedotnet run script.cssin un archivo de proyecto.
Estructura de directorios de ejemplo
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Ejemplo de configuración
hooks:
postprovision:
run: ./hooks/migrate.cs
.NET - Configuración específica
Especifique la configuración de compilación y la plataforma de destino mediante el config bloque :
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Invalidación del directorio de trabajo
Establezca el directorio de trabajo para un enlace mediante el campo dir. Esta configuración es útil cuando la raíz del proyecto difiere de la ubicación del script:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Mezcla de idiomas y formatos
Use diferentes idiomas para enlaces diferentes en el mismo azure.yaml archivo. También puede combinar hooks de varios idiomas con sobrescrituras específicas de la plataforma:
hooks:
preprovision:
run: ./hooks/setup.py
postdeploy:
run: ./hooks/seed.ts
postprovision:
run: ./hooks/migrate.cs
predeploy:
windows:
run: ./hooks/build.ps1
posix:
run: ./hooks/build.sh
Contenido relacionado
- Personalización de flujos de trabajo mediante enlaces de comandos y eventos
- Referencia de la CLI para desarrolladores de Azure
Solicitar ayuda
Para obtener información sobre cómo archivar un error, solicitar ayuda o proponer una nueva característica para la CLI para desarrolladores de Azure, visite la página troubleshooting and support.