Referencia del esquema de la CLI para desarrolladores de Azure

El azure.yaml archivo es el archivo de configuración de los proyectos de la CLI para desarrolladores de Azure (azd). Colóquelo en la raíz del proyecto para definir los servicios, los recursos de Azure, la infraestructura, los enlaces y la canalización de CI/CD que componen la aplicación. Al ejecutar comandos como azd up, azd provisiono azd deploy, la CLI lee este archivo para comprender la estructura de la aplicación y cómo implementarlo en Azure.

Este artículo es una referencia completa para el esquema azure.yaml. Para empezar a trabajar con azd plantillas, consulte Introducción a las plantillas de la CLI para desarrolladores de Azure.

Muestra

A continuación se muestra un ejemplo genérico de un azure.yaml archivo para una azd plantilla. Para ver un ejemplo real, consulte el azure.yaml elemento de la plantilla de Mongo toDo NodeJs:

name: yourApp
metadata:
  template: yourApp@0.0.1-beta
services:
  web:
    project: ./src/web
    dist: build
    language: js
    host: appservice
  api:
    project: ./src/api
    language: js
    host: appservice

Propiedades de nivel superior

Nombre del elemento Obligatorio Tipo Descripción
name Y cuerda Nombre de la aplicación. Solo se permiten letras minúsculas, números y guiones (-). debe empezar y terminar con una letra o un número.
resourceGroup N cuerda Nombre del grupo de recursos de Azure. Cuando se especifica, invalida el nombre del grupo de recursos usado para el aprovisionamiento de infraestructura. Admite la sustitución de variables de entorno.
metadata N objeto Metadatos sobre la plantilla de aplicación.
infra N objeto Proporciona configuración adicional para el aprovisionamiento de la infraestructura de Azure.
services N objeto Definición de servicios que componen la aplicación.
resources N objeto Definición de los recursos de Azure usados por la aplicación.
pipeline N objeto Definición de la canalización de integración continua.
hooks N objeto Enlaces de nivel de comando para azd comandos.
requiredVersions N objeto Proporciona configuración adicional para las versiones necesarias de azd y extensiones.
state N objeto Proporciona configuración adicional para la administración de estados.
platform N objeto Proporciona configuración adicional para características específicas de la plataforma, como el Centro de desarrollo de Azure.
workflows N objeto Proporciona una configuración adicional para los flujos de trabajo, como el comportamiento de invalidación azd up .
cloud N objeto Proporciona configuración adicional para la implementación en nubes soberanas. La nube predeterminada es AzureCloud.

name

(string, required) Nombre de la aplicación. Solo se permiten letras minúsculas, números y guiones (-). debe empezar y terminar con una letra o un número. Longitud mínima: 2 caracteres.

name: my-app

resourceGroup

(cadena) Nombre del grupo de recursos de Azure. Cuando se especifica, invalida el nombre del grupo de recursos usado para el aprovisionamiento de infraestructura. Admite la sustitución de variables de entorno. Debe tener entre 3 y 64 caracteres.

resourceGroup: rg-my-app-${AZURE_ENV_NAME}

metadata

(objeto) Metadatos sobre la plantilla de aplicación.

Propiedad Obligatorio Tipo Descripción
template N cuerda Identificador de la plantilla desde la que se creó la aplicación.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(objeto) Proporciona configuración adicional para el aprovisionamiento de la infraestructura de Azure.

Propiedad Obligatorio Tipo Descripción
provider N cuerda Proveedor de aprovisionamiento de infraestructura que se usa para aprovisionar los recursos de Azure para la aplicación. Predeterminado: bicep. Valores permitidos: bicep, terraform.
path N cuerda Ruta de acceso de carpeta relativa a las plantillas de aprovisionamiento de Azure para el proveedor especificado. Predeterminado: infra.
module N cuerda Nombre del módulo predeterminado dentro de las plantillas de aprovisionamiento de Azure. Predeterminado: main.
layers N arreglo Capas para el aprovisionamiento de la infraestructura de Azure. Consulte infra.layers.

Note

Cuando layers se especifica con al menos un elemento, no se pueden usar las path propiedades y module . En su lugar, use valores y module específicos path de la capa.

infra.layers

(matriz de objetos) Define las capas de aprovisionamiento para la infraestructura de Azure. Cada capa representa una unidad independiente de aprovisionamiento.

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre de la capa de aprovisionamiento.
path Y cuerda Ruta de acceso de carpeta relativa a las plantillas de aprovisionamiento de Azure para el proveedor especificado.
module N cuerda Nombre del módulo de aprovisionamiento de Azure que se usa al aprovisionar recursos. Predeterminado: main.
hooks N objeto Enlaces de capa de aprovisionamiento. Admite preprovision y postprovision enlaces. Al especificar rutas de acceso, deben ser relativas a la ruta de acceso de capa. Consulte Definición de enlace.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Ejemplo de proveedor de Terraform como IaC

Para usar Terraform en lugar de Bicep, establezca en providerterraform. Para obtener más información, consulte Uso de Terraform como proveedor de IaC.

name: yourApp-terraform
metadata:
  template: yourApp-terraform@0.0.1-beta
services:
  web:
    project: ./src/web
    dist: build
    language: js
    host: appservice
  api:
    project: ./src/api
    language: js
    host: appservice
infra:
  provider: terraform

services

(objeto) Definición de servicios que componen la aplicación. Cada clave es un nombre de servicio y el valor es un objeto de configuración de servicio.

Propiedades del servicio

Propiedad Obligatorio Tipo Descripción
host Y cuerda Tipo de recurso de Azure que se usa para la implementación del servicio. Consulte Tipos de host.
project Condicional cuerda Ruta de acceso al directorio de código fuente del servicio. Necesario para la mayoría de los tipos de host.
image Condicional cuerda Imagen de origen que se va a usar para la imagen de contenedor en lugar de compilar desde el origen. Admite la sustitución de variables de entorno. Solo es válido para containerapp el host.
language N cuerda Lenguaje de implementación del servicio. Valores permitidos: dotnet, csharp, fsharp, py, python, jsts, , java, , . docker
module N cuerda Ruta de acceso del módulo de infraestructura que se usa para implementar el servicio en relación con la carpeta de infraestructura raíz. Si se omite, la CLI supone que el nombre del módulo es el mismo que el nombre del servicio.
dist N cuerda Ruta de acceso relativa a los artefactos de implementación del servicio.
resourceName N cuerda Nombre del recurso de Azure que implementa el servicio. De forma predeterminada, la CLI detecta el recurso de Azure con la etiqueta azd-service-name establecida en el nombre del servicio actual. Admite la sustitución de variables de entorno.
resourceGroup N cuerda Nombre del grupo de recursos de Azure que contiene el recurso. Cuando se especifica, la CLI busca el recurso de Azure dentro del grupo de recursos especificado. Admite la sustitución de variables de entorno.
remoteBuild N booleano Si se usa la compilación remota para la implementación de aplicaciones de funciones. Solo es válido cuando host es function. Cuando se establece en true, el paquete de implementación se compila de forma remota mediante Oryx. El valor predeterminado es true para las aplicaciones de funciones de JavaScript, TypeScript y Python.
docker N objeto Configuración de Docker. Solo se aplica a los hosts basados en contenedores. Consulte docker.
k8s N objeto Opciones de configuración de AKS. Solo es válido cuando host es aks. Consulte k8s.
config N objeto Opciones de configuración adicionales para el servicio.
uses N arreglo Lista de nombres de servicio y nombres de recursos de los que depende este servicio.
env N objeto Asignación de nombres de variables de entorno a valores. Admite la sustitución de variables de entorno.
apiVersion N cuerda Versión de api del proveedor de recursos para implementaciones. Solo es válido cuando host es containerapp.
hooks N objeto Enlaces de nivel de servicio. Consulte Enlaces de servicio.

Tip

Consulte Ejemplos de servicios para ver ejemplos completos de YAML de diferentes configuraciones de servicio.

Tipos de host

La host propiedad determina el tipo de recurso de Azure que se usa para la implementación del servicio y los controles que otras propiedades son válidas.

Valor de host Descripción Requiere project Admite image Admite docker Admite k8s Admite env Admite apiVersion
appservice Azure App Service Y N N N N N
containerapp Azure Container Apps (Aplicaciones de Contenedores de Azure) project o image (no ambos) Y Y N Y Y
function Azure Functions Y N N N N N
staticwebapp Aplicaciones Web Estáticas de Azure Y N N N N N
springapp Aplicaciones de Azure Spring Y N N N N N
aks Azure Kubernetes Service N N Y Y N N
ai.endpoint Punto de conexión en línea de Azure AI Y N Y N N N
azure.ai.agent Agente de Azure AI Y N Y N N N

Note

springapp la compatibilidad requiere la participación en las características alfa. Para obtener más información, consulte Características alfa.

Note

Cuando host es containerapp, debe proporcionar o imageproject, pero no ambos. Si image se establece, el contenedor se implementa a partir de la imagen especificada. Si project se establece, la imagen de contenedor se compila a partir del origen.

ai.endpoint configuración

(object, required when host is ai.endpoint) Proporciona configuración adicional para la implementación de puntos de conexión en línea de Azure AI.

Propiedad Obligatorio Tipo Descripción
workspace N cuerda Nombre del área de trabajo del proyecto de AI Studio. Cuando se omite, azd usa el valor especificado en la variable de AZUREAI_PROJECT_NAME entorno. Admite la sustitución de variables de entorno.
flow N objeto Configuración del flujo de mensajes de Azure AI Studio. Cuando se omite, no se crea un flujo de solicitud. Consulte Configuración de componentes de IA.
environment N objeto Configuración del entorno personalizado de Azure AI Studio. Cuando se omite, no se crea un entorno personalizado. Consulte Configuración de componentes de IA.
model N objeto Configuración del modelo de Azure AI Studio. Cuando se omite, no se crea un modelo. Consulte Configuración de componentes de IA.
deployment Y objeto Configuración de implementación de puntos de conexión en línea de Azure AI Studio. Se crea una nueva implementación de punto de conexión en línea y el tráfico se desplaza automáticamente a la nueva implementación tras la finalización correcta. Consulte Configuración de implementación de IA.

Note

Cuando host es ai.endpoint, y projectconfig son necesarios. Consulte ai.endpoint config para obtener las propiedades de configuración necesarias.

Configuración de componentes de IA
Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del componente de IA. Cuando se omite, azd genera un nombre basado en el tipo de componente y el nombre del servicio. Admite la sustitución de variables de entorno.
path Y cuerda Ruta de acceso al archivo de configuración de componentes de IA o código fuente.
overrides N objeto Mapa de pares clave-valor usados para invalidar la configuración del componente de IA. Admite la sustitución de variables de entorno.
Configuración de implementación de IA

Hereda todas las propiedades de la configuración del componente de IA, además de:

Propiedad Obligatorio Tipo Descripción
environment N objeto Mapa de pares clave-valor que se van a establecer como variables de entorno para la implementación. Los valores admiten la sustitución de variables de entorno y azd sistema operativo.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(objeto) Configuración de Docker para un servicio. Solo se aplica a los hosts que admiten contenedores (containerapp, aks, ai.endpoint, azure.ai.agent).

Propiedad Obligatorio Tipo Descripción
path N cuerda Ruta de acceso al Dockerfile, en relación con el servicio. Predeterminado: ./Dockerfile.
context N cuerda Contexto de compilación de Docker. Cuando se especifica, invalida el contexto predeterminado. Predeterminado: ..
platform N cuerda Destino de la plataforma. Predeterminado: amd64.
registry N cuerda Registro de contenedor en el que se va a insertar la imagen. Si se omite, el valor predeterminado es el valor de la variable de AZURE_CONTAINER_REGISTRY_ENDPOINT entorno. Admite la sustitución de variables de entorno.
image N cuerda Nombre que se aplica a la imagen de contenedor compilada. Si se omite, el valor predeterminado es {appName}/{serviceName}-{environmentName}. Admite la sustitución de variables de entorno.
tag N cuerda Etiqueta que se aplica a la imagen de contenedor compilada. Si se omite, el valor predeterminado es azd-deploy-{unix time (seconds)}. Admite la sustitución de variables de entorno.
buildArgs N Matriz de cadenas Compile argumentos para pasar al comando docker build.
network N cuerda El modo de red para las instrucciones run durante la compilación de Docker. Se pasa como --network a la compilación de Docker. Por ejemplo, use host para permitir que el contenedor de compilación acceda a la red host.
remoteBuild N booleano Si se va a compilar la imagen de forma remota. Si se establece en true, la imagen se compila de forma remota mediante la característica de compilación remota de Azure Container Registry. Si se produce un error en la compilación remota, azd recurre automáticamente a la compilación local mediante Docker o Podman si está disponible.

k8s

(objeto) Opciones de configuración de Azure Kubernetes Service (AKS). Solo es válido cuando host es aks.

Propiedad Obligatorio Tipo Descripción
deploymentPath N cuerda Ruta de acceso relativa de la ruta de acceso del servicio a los manifiestos de implementación k8s. Predeterminado: manifests.
namespace N cuerda Espacio de nombres k8s de los recursos implementados. Cuando se especifica, se crea un nuevo espacio de nombres k8s si aún no existe. Valor predeterminado: nombre del proyecto.
deployment N objeto Configuración de implementación k8s. Consulte Configuración de implementación.
service N objeto Configuración del servicio k8s. Consulte Configuración del servicio.
ingress N objeto Configuración de entrada k8s. Consulte Configuración de entrada.
helm N objeto Configuración de Helm. Consulte Configuración de Helm.
kustomize N objeto Configuración de kustomize. Consulte Configuración de Kustomize.
Configuración de implementación
Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del recurso de implementación k8s que se va a usar durante la implementación. Si no se establece, busca un recurso de implementación en el mismo espacio de nombres que contiene el nombre del servicio. Valor predeterminado: nombre del servicio.
Configuración del servicio
Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del recurso de servicio k8s que se va a usar como punto de conexión de servicio predeterminado. Si no se establece, busca un recurso de servicio en el mismo espacio de nombres que contiene el nombre del servicio. Valor predeterminado: nombre del servicio.
Configuración de entrada
Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del recurso de entrada k8s que se va a usar como punto de conexión de servicio predeterminado. Si no se establece, busca un recurso de entrada en el mismo espacio de nombres que contiene el nombre del servicio. Valor predeterminado: nombre del servicio.
relativePath N cuerda Ruta de acceso relativa al servicio desde la raíz del controlador de entrada. Cuando se establece, se anexa a la raíz de la ruta de acceso del recurso de entrada.
Configuración de Helm
Propiedad Obligatorio Tipo Descripción
repositories N arreglo Repositorios de Helm que se van a agregar.
releases N arreglo Las versiones de Helm que se van a instalar.

repositories elementos de matriz:

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre del repositorio de Helm.
url Y cuerda Dirección URL del repositorio de Helm.

releases elementos de matriz:

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre de la versión de Helm.
chart Y cuerda Nombre del gráfico de Helm.
version N cuerda Versión del gráfico de Helm.
namespace N cuerda Espacio de nombres k8s para instalar el gráfico de Helm. El valor predeterminado es el espacio de nombres del servicio.
values N cuerda Ruta de acceso relativa del servicio a una values.yaml que se va a pasar al gráfico de Helm.
Configuración de Kustomize
Propiedad Obligatorio Tipo Descripción
dir N cuerda Ruta de acceso relativa al directorio kustomize. Admite la sustitución de variables de entorno.
edits N Matriz de cadenas Kustomize edita que se va a aplicar antes de la implementación. Admite la sustitución de variables de entorno.
env N objeto Pares clave-valor de entorno usados para generar un .env archivo en el directorio kustomize. Los valores admiten la sustitución de variables de entorno.

Enlaces de servicio

Los enlaces de nivel de servicio se ejecutan durante los eventos del ciclo de vida del servicio. Los enlaces deben coincidir con los nombres de eventos de servicio prefijos con pre o post. Al especificar rutas de acceso, deben ser relativas a la ruta de acceso del servicio. Consulte Personalización de los flujos de trabajo de la CLI para desarrolladores de Azure mediante enlaces de comandos y eventos para más información.

Enlaces de servicio admitidos: prerestore, postrestore, prebuild, prepackagepostpackageprepublishpostbuild, postpublish, predeploy, . postdeploy

Cada enlace usa el formato de definición de enlace .

Ejemplos de servicio

Aplicaciones de contenedor con opciones de Docker
services:
  api:
    project: ./src/api
    language: js
    host: containerapp
    docker:
      path: ./Dockerfile
      context: ../
  web:
    project: ./src/web
    language: js
    host: containerapp
    docker:
      remoteBuild: true
Aplicaciones de contenedor a partir de una imagen precompilada
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
AKS con enlaces de nivel de servicio
services:
  web:
    project: ./src/web
    dist: build
    language: js
    host: aks
    hooks:
      postdeploy:
        shell: sh
        run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
  api:
    project: ./src/api
    language: js
    host: aks
    k8s:
      ingress:
        relativePath: api
    hooks:
      postdeploy:
        shell: sh
        run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}

resources

(objeto) Definición de los recursos de Azure usados por la aplicación. Cada clave es un nombre de recurso y el valor es un objeto de configuración de recursos. Los servicios pueden hacer referencia a los recursos a través de la uses propiedad .

Propiedades de recursos comunes

Propiedad Obligatorio Tipo Descripción
type Y cuerda El tipo de recurso. Consulte Tipos de recursos.
uses N arreglo Otros recursos de los que depende este recurso.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

Tip

Consulte El ejemplo de recursos para ver un ejemplo completo de YAML que combina varios tipos de recursos.

Tipos de recursos

La type propiedad determina el tipo de recurso de Azure y controla qué propiedades adicionales están disponibles.

Valor del tipo Descripción Propiedades adicionales
host.appservice Aplicación web de Azure App Service Consulte host.appservice las propiedades.
host.containerapp Aplicación de contenedor basada en Docker Consulte host.containerapp las propiedades.
ai.openai.model Un modelo de IA implementado y listo para usar Consulte ai.openai.model las propiedades.
ai.project Un proyecto de Microsoft Foundry con modelos Consulte ai.project las propiedades.
ai.search Azure AI Search Consulte ai.search las propiedades.
db.postgres Base de Datos de Azure para PostgreSQL No hay propiedades adicionales.
db.mysql Base de Datos Azure para MySQL No hay propiedades adicionales.
db.redis Caché de Azure para Redis No hay propiedades adicionales.
db.mongo Azure Cosmos DB para MongoDB No hay propiedades adicionales.
db.cosmos Azure Cosmos DB para NoSQL Consulte db.cosmos las propiedades.
messaging.eventhubs namespace de Azure Event Hubs Consulte messaging.eventhubs las propiedades.
messaging.servicebus Espacio de nombres de Azure Service Bus Consulte messaging.servicebus las propiedades.
storage Cuenta de Azure Storage Consulte storage las propiedades.
keyvault Azure Key Vault Consulte keyvault las propiedades.

propiedades de host.appservice

Propiedad Obligatorio Tipo Descripción
port N integer Puerto en el que escucha la aplicación web. Predeterminado: 80.
runtime Y objeto Configuración de Language Runtime. Consulte a continuación.
env N arreglo Variables de entorno. Cada elemento tiene name (obligatorio), valuey secret propiedades. Admite la sustitución de variables de entorno.
startupCommand N cuerda Comando de inicio que se ejecuta como parte del inicio de la aplicación web.
uses N Matriz de cadenas Otros recursos que usa este recurso.

runtime objeto:

Propiedad Obligatorio Tipo Descripción
stack Y cuerda Pila de Language Runtime. Valores permitidos: node, python.
version Y cuerda La versión de Language Runtime. El formato varía según la pila (por ejemplo, 22-lts para Node, 3.13 para Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

propiedades de host.containerapp

Propiedad Obligatorio Tipo Descripción
port N integer Puerto en el que escucha la aplicación contenedora. Predeterminado: 80.
env N arreglo Variables de entorno. Cada elemento tiene name (obligatorio), valuey secret propiedades. Admite la sustitución de variables de entorno.
uses N Matriz de cadenas Otros recursos que usa este recurso.

propiedades de ai.openai.model

Propiedad Obligatorio Tipo Descripción
model Condicional objeto Modelo de IA subyacente. Obligatorio cuando existing es false.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

model objeto:

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre del modelo de IA.
version Y cuerda Versión del modelo de IA.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

propiedades de ai.project

Propiedad Obligatorio Tipo Descripción
models N arreglo Los modelos de inteligencia artificial que se van a implementar como parte del proyecto de inteligencia artificial.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

models elementos de matriz:

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre del modelo de IA.
version Y cuerda Versión del modelo de IA.
format Y cuerda El formato del modelo de IA (por ejemplo, Microsoft, OpenAI).
sku Y objeto Configuración de SKU para el modelo de IA.

sku objeto:

Propiedad Obligatorio Tipo Descripción
name Y cuerda Nombre de la SKU (por ejemplo, GlobalStandard).
usageName Y cuerda Nombre de uso de la SKU con fines de facturación (por ejemplo, OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y integer Capacidad de la SKU.

propiedades de ai.search

Propiedad Obligatorio Tipo Descripción
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

propiedades de db.cosmos

Propiedad Obligatorio Tipo Descripción
containers N arreglo Contenedores para almacenar datos. Cada contenedor almacena una colección de elementos.

containers elementos de matriz:

Propiedad Obligatorio Tipo Descripción
name Y cuerda El nombre del contenedor.
partitionKeys Y arreglo Las claves de partición usadas para distribuir datos entre particiones. Máximo 3 claves. Predeterminado: /id.

propiedades de messaging.eventhubs

Propiedad Obligatorio Tipo Descripción
hubs N Matriz de cadenas Nombres de concentrador que se van a crear en el espacio de nombres de Event Hubs.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

propiedades de messaging.servicebus

Propiedad Obligatorio Tipo Descripción
queues N Matriz de cadenas Nombres de cola que se van a crear en el espacio de nombres de Service Bus.
topics N Matriz de cadenas Nombres de temas que se van a crear en el espacio de nombres de Service Bus.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

propiedades de storage

Propiedad Obligatorio Tipo Descripción
containers N Matriz de cadenas Nombres de contenedor de la cuenta de Azure Storage.
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

propiedades de keyvault

Propiedad Obligatorio Tipo Descripción
existing N booleano Cuando se establece en true, este recurso no se crea y, en su lugar, se usa con fines de referencia. Predeterminado: false.

Ejemplo de recursos

resources:
  db:
    type: db.postgres
  cache:
    type: db.redis
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"
  web:
    type: host.containerapp
    port: 3100
    uses:
      - db
      - chatModel

pipeline

(objeto) Definición de la canalización de integración continua.

Propiedad Obligatorio Tipo Descripción
provider N cuerda Proveedor de canalización que se va a usar para la integración continua. Predeterminado: github. Valores permitidos: github, azdo.
variables N Matriz de cadenas Lista de variables de azd entorno que se van a usar en la canalización como variables.
secrets N Matriz de cadenas Lista de variables de azd entorno que se van a usar en la canalización como secretos.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(objeto) Enlaces de nivel de comando. Los enlaces deben coincidir con azd nombres de comando prefijos con pre o post en función de cuándo se debe ejecutar el script. Al especificar rutas de acceso, deben ser relativas a la ruta de acceso del proyecto. Consulte Personalización de los flujos de trabajo de la CLI para desarrolladores de Azure mediante enlaces de comandos y eventos para más información.

Enlaces de comandos admitidos: , , , , postdeployprepublishpostpublishpostrestoreprerestorepostpackagepredeploypredownpostdownpostupprepackagepreinfradeletepreuppostinfracreatepostinfradeletepreinfracreatepostprovisionpreprovision

Cada enlace usa el formato de definición de enlace .

Tip

Consulte Ejemplos de enlace para ver ejemplos completos de YAML, incluidos enlaces específicos de la plataforma, ejecutores con tipo y varios enlaces por evento.

hooks:
  preprovision:
    shell: sh
    run: ./scripts/setup.sh
  postdeploy:
    shell: sh
    run: azd env set APP_URL ${SERVICE_WEB_ENDPOINT_URL}

Definición de enlace

Un enlace puede ser un solo objeto de enlace o una matriz de objetos de enlace. Cada objeto de enlace tiene las siguientes propiedades:

Propiedad Obligatorio Tipo Descripción
run Condicional cuerda El script insertado o la ruta de acceso relativa del script. Obligatorio al especificar shell, kind, dir, interactive, continueOnError, secretso config. Al especificar un script insertado, también debe especificar el shell que se va a usar. El shell se deduce automáticamente al usar rutas de acceso de archivo.
shell N cuerda Tipo de shell para ejecutar scripts. Predeterminado: sh. Valores permitidos: sh, pwsh.
kind N cuerda Tipo de ejecutor para el script de enlace. Cuando se omite, el tipo se detecta automáticamente desde la extensión de archivo de la run ruta de acceso (por ejemplo, .py se convierte en python, .ps1 se convierte en pwsh). Valores permitidos: sh, pwsh, js, ts, python, dotnet.
dir N cuerda Directorio de trabajo para la ejecución del enlace. Se usa como raíz del proyecto para la instalación de dependencias y como directorio de trabajo al ejecutar el script. Las rutas de acceso relativas se resuelven desde la raíz del proyecto o del servicio. Cuando se omite, el valor predeterminado es el directorio que contiene el archivo de script.
continueOnError N booleano Si un error de script detiene el azd comando. Predeterminado: false.
interactive N booleano Indica si el script se ejecuta en modo interactivo, enlazando a stdin, stdouty stderr de la consola en ejecución. Predeterminado: false.
windows N objeto Cuando se especifica, invalida la configuración del enlace cuando se ejecuta en entornos de Windows. Usa el mismo formato de objeto de enlace.
posix N objeto Cuando se especifica, invalida la configuración de enlace cuando se ejecuta en entornos POSIX (Linux y macOS). Usa el mismo formato de objeto de enlace.
secrets N objeto Mapa de variables de azd entorno para enlazar secretos. Si una variable se estableció como un secreto en el entorno, el valor del secreto se pasa al enlace.
config N objeto Configuración específica del ejecutor. Las propiedades disponibles dependen del kind valor. Consulte Configuración del ejecutor de enlace.

Note

Cuando se especifican y windowsposix , las runpropiedades , shell, dirkind, interactive, continueOnError, , secretsy config no se pueden usar en el nivel superior. En su lugar, use los objetos específicos de la plataforma.

Configuración del ejecutor de enlace

La config propiedad acepta propiedades diferentes en función del kind valor.

Configuración de JavaScript y TypeScript (js, ts)

Propiedad Obligatorio Tipo Descripción
packageManager N cuerda Administrador de paquetes que se va a usar para la instalación de dependencias. Invalida la detección automática de archivos de bloqueo. Valores permitidos: npm, pnpm y yarn.

Configuración de Python

Propiedad Obligatorio Tipo Descripción
virtualEnvName N cuerda Nombre de directorio para el entorno virtual de Python. El valor predeterminado es la detección automática (.venv, venv) o {baseName}_env.

Configuración de .NET (dotnet)

Propiedad Obligatorio Tipo Descripción
configuration N cuerda Configuración de MSBuild para compilar el script de enlace (por ejemplo, Debug, Release).
framework N cuerda El moniker de la plataforma de destino para compilar y ejecutar el script de enlace (por ejemplo, net8.0, net10.0).

Configuración de Shell (sh, pwsh)

Los ejecutores de shell no admiten config actualmente propiedades.

Ejemplos de enlace

Enlaces específicos de la plataforma

hooks:
  preprovision:
    windows:
      shell: pwsh
      run: ./scripts/setup.ps1
    posix:
      shell: sh
      run: ./scripts/setup.sh

Enlace de Python con tipo

hooks:
  postprovision:
    kind: python
    run: ./scripts/seed-data.py
    dir: ./scripts
    config:
      virtualEnvName: .venv

Varios enlaces para un único evento

hooks:
  postprovision:
    - shell: sh
      run: ./scripts/step1.sh
    - shell: sh
      run: ./scripts/step2.sh

requiredVersions

(objeto) Proporciona configuración adicional para las versiones necesarias de azd y extensiones.

Propiedad Obligatorio Tipo Descripción
azd N cuerda Intervalo de versiones admitidas de azd para este proyecto. Si la versión de está fuera de azd este intervalo, el proyecto no se puede cargar. Admite la sintaxis del intervalo semver.
extensions N objeto Mapa de las extensiones y restricciones de versión necesarias para este proyecto. Admite restricciones semver. Si se omite la versión, se instala la versión más reciente.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(objeto) Proporciona configuración adicional para la administración de estados.

Propiedad Obligatorio Tipo Descripción
remote N objeto Proporciona configuración adicional para la administración de estado remoto. Consulte state.remote.

state.remote

Propiedad Obligatorio Tipo Descripción
backend Y cuerda Tipo de back-end de estado remoto. Predeterminado: AzureBlobStorage. Valores permitidos: AzureBlobStorage.
config Condicional objeto Configuración específica del back-end. Obligatorio cuando backend es AzureBlobStorage. Consulte Configuración de Azure Blob Storage.

Configuración de Azure Blob Storage

Propiedad Obligatorio Tipo Descripción
accountName Y cuerda El nombre de la cuenta de Azure Storage.
containerName N cuerda El nombre del contenedor de Azure Storage. El valor predeterminado es el nombre del proyecto si no se especifica.
endpoint N cuerda Punto de conexión de Azure Storage. Predeterminado: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(objeto) Proporciona configuración adicional para características específicas de la plataforma, como el Centro de desarrollo de Azure.

Propiedad Obligatorio Tipo Descripción
type Y cuerda Tipo de plataforma. Valores permitidos: devcenter.
config N objeto Configuración específica de la plataforma. Consulte Configuración del Centro de desarrollo.

Configuración del Centro de desarrollo

Disponible cuando type es devcenter:

Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del Centro de desarrollo de Azure. Se usa como centro de desarrollo predeterminado para este proyecto.
project N cuerda Nombre del proyecto del Centro de desarrollo de Azure.
catalog N cuerda Nombre del catálogo del Centro de desarrollo de Azure.
environmentDefinition N cuerda Nombre de la definición del entorno del catálogo del Centro de desarrollo.
environmentType N cuerda Tipo de entorno de proyecto del Centro de desarrollo usado para el entorno de implementación.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(objeto) Proporciona una configuración adicional para los flujos de trabajo, como el comportamiento de invalidación azd up .

Propiedad Obligatorio Tipo Descripción
up N objeto o matriz Cuando se especifica, invalida el comportamiento predeterminado para el flujo de azd up trabajo.

Pasos del flujo de trabajo

El up flujo de trabajo acepta una steps matriz (o se puede especificar directamente como una matriz). Cada paso ejecuta un azd comando.

Propiedad Obligatorio Tipo Descripción
azd Y cadena o objeto Comando azd que se va a ejecutar. Puede ser una cadena (por ejemplo, provision) o un objeto con una args matriz.

Configuración del orden de pasos de flujo de trabajo

El siguiente azure.yaml archivo cambia el comportamiento predeterminado de azd up para mover el azd package paso después del azd provision paso. Use este enfoque en escenarios en los que necesite conocer las direcciones URL de los recursos durante el proceso de compilación o empaquetado.

name: todo-nodejs-mongo
metadata:
  template: todo-nodejs-mongo@0.0.1-beta
workflows:
  up:
    steps:
      - azd: provision
      - azd: package
      - azd: deploy --all

cloud

(objeto) Proporciona una configuración adicional para la implementación en nubes soberanas, como Azure Government. La nube predeterminada es AzureCloud.

Propiedad Obligatorio Tipo Descripción
name N cuerda Nombre del entorno de nube. Valores permitidos: AzureCloud, AzureChinaCloud y AzureUSGovernment.
cloud:
  name: AzureUSGovernment

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 solución de problemas y soporte técnico.

Pasos siguientes