Referência de esquema da CLI do Desenvolvedor do Azure

O azure.yaml arquivo é o arquivo de configuração para projetos da CLI do Desenvolvedor do Azure (azd). Coloque-o na raiz do projeto para definir os serviços, os recursos do Azure, a infraestrutura, os ganchos e o pipeline de CI/CD que compõem seu aplicativo. Quando você executa comandos como azd up, azd provisionou azd deploy, a CLI lê este arquivo para entender a estrutura do aplicativo e como implantá-lo no Azure.

Este artigo é uma referência completa para o esquema azure.yaml. Para começar a azd usar modelos, consulte a visão geral dos modelos da CLI do Desenvolvedor do Azure.

Amostra

Veja a seguir um exemplo genérico de um azure.yaml arquivo para um azd modelo. Para obter um exemplo do mundo real, consulte o azure.yamlmodelo do ToDo NodeJs Mongo:

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

Propriedades de nível superior

Nome do elemento Necessário Tipo Descrição
name Y cadeia O nome do aplicativo. Somente letras minúsculas, números e hifens (-) são permitidos. O nome deve começar e terminar com uma letra ou um número.
resourceGroup N cadeia Nome do grupo de recursos do Azure. Quando especificado, substitui o nome do grupo de recursos usado para provisionamento de infraestrutura. Dá suporte à substituição de variável de ambiente.
metadata N objeto Metadados sobre o modelo de aplicativo.
infra N objeto Fornece configuração adicional para provisionamento de infraestrutura do Azure.
services N objeto Definição de serviços que compõem o aplicativo.
resources N objeto Definição de recursos do Azure usados pelo aplicativo.
pipeline N objeto Definição de pipeline de integração contínua.
hooks N objeto Ganchos de nível de comando para azd comandos.
requiredVersions N objeto Fornece configuração adicional para versões azd e extensões necessárias.
state N objeto Fornece configuração adicional para o gerenciamento de estado.
platform N objeto Fornece configuração adicional para recursos específicos da plataforma, como o Centro de Desenvolvimento do Azure.
workflows N objeto Fornece configuração adicional para fluxos de trabalho, como o comportamento de substituição azd up .
cloud N objeto Fornece configuração adicional para implantação em nuvens soberanas. A nuvem padrão é AzureCloud.

name

(cadeia de caracteres, obrigatório) O nome do aplicativo. Somente letras minúsculas, números e hifens (-) são permitidos. O nome deve começar e terminar com uma letra ou um número. Comprimento mínimo: 2 caracteres.

name: my-app

resourceGroup

(cadeia de caracteres) Nome do grupo de recursos do Azure. Quando especificado, substitui o nome do grupo de recursos usado para provisionamento de infraestrutura. Dá suporte à substituição de variável de ambiente. Deve ter entre 3 e 64 caracteres.

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

metadata

(objeto) Metadados sobre o modelo de aplicativo.

Propriedade Necessário Tipo Descrição
template N cadeia Identificador do modelo do qual o aplicativo foi criado.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(objeto) Fornece configuração adicional para provisionamento de infraestrutura do Azure.

Propriedade Necessário Tipo Descrição
provider N cadeia O provedor de provisionamento de infraestrutura usado para provisionar os recursos do Azure para o aplicativo. Padrão: bicep. Valores permitidos: bicep, terraform.
path N cadeia O caminho da pasta relativa para os modelos de provisionamento do Azure para o provedor especificado. Padrão: infra.
module N cadeia O nome do módulo padrão dentro dos modelos de provisionamento do Azure. Padrão: main.
layers N matriz Camadas para provisionamento de infraestrutura do Azure. Consulte infra.layers.

Note

Quando layers for especificado com pelo menos um item, as propriedades e module as path propriedades não poderão ser usadas. Em vez disso, use valores específicos module da camadapath.

infra.layers

(matriz de objetos) Define as camadas de provisionamento para a infraestrutura do Azure. Cada camada representa uma unidade independente de provisionamento.

Propriedade Necessário Tipo Descrição
name Y cadeia O nome da camada de provisionamento.
path Y cadeia O caminho da pasta relativa para os modelos de provisionamento do Azure para o provedor especificado.
module N cadeia O nome do módulo de provisionamento do Azure usado ao provisionar recursos. Padrão: main.
hooks N objeto Ganchos de camada de provisionamento. Suportes preprovision e postprovision ganchos. Ao especificar caminhos, eles devem ser relativos ao caminho da camada. Consulte a definição do Gancho.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Exemplo de provedor Terraform como IaC

Para usar o Terraform em vez de Bicep, defina como providerterraform. Para obter mais informações, consulte Usar o Terraform como um provedor 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) Definição de serviços que compõem o aplicativo. Cada chave é um nome de serviço e o valor é um objeto de configuração de serviço.

Propriedades de serviço

Propriedade Necessário Tipo Descrição
host Y cadeia O tipo de recurso do Azure usado para implementação de serviço. Consulte os tipos de host.
project Condicional cadeia Caminho para o diretório do código-fonte do serviço. Necessário para a maioria dos tipos de host.
image Condicional cadeia A imagem de origem a ser usada para a imagem de contêiner em vez de compilar da origem. Dá suporte à substituição de variável de ambiente. Válido apenas para containerapp host.
language N cadeia Linguagem de implementação de serviço. Valores permitidos: dotnet, csharp, fsharppy, python, , js, ts, java, . docker
module N cadeia Caminho do módulo de infraestrutura usado para implantar o serviço em relação à pasta infra raiz. Se omitida, a CLI pressupõe que o nome do módulo seja o mesmo que o nome do serviço.
dist N cadeia Caminho relativo para artefatos de implantação de serviço.
resourceName N cadeia Nome do recurso do Azure que implementa o serviço. Por padrão, a CLI descobre o recurso do Azure com a marca azd-service-name definida como o nome do serviço atual. Dá suporte à substituição de variável de ambiente.
resourceGroup N cadeia Nome do grupo de recursos do Azure que contém o recurso. Quando especificado, a CLI localiza o recurso do Azure dentro do grupo de recursos especificado. Dá suporte à substituição de variável de ambiente.
remoteBuild N boolean Se você deve usar o build remoto para implantação de aplicativo de funções. Somente válido quando host for function. Quando definido como true, o pacote de implantação é criado remotamente usando o Oryx. O padrão é para true aplicativos de funções JavaScript, TypeScript e Python.
docker N objeto Configuração do Docker. Aplicável somente para hosts baseados em contêiner. Consulte docker.
k8s N objeto Opções de configuração do AKS. Somente válido quando host for aks. Consulte k8s.
config N objeto Opções de configuração extras para o serviço.
uses N matriz Lista de nomes de serviço e nomes de recursos dos quais esse serviço depende.
env N objeto Um mapa de nomes de variáveis de ambiente para valores. Dá suporte à substituição de variável de ambiente.
apiVersion N cadeia Versão da API do provedor de recursos para implantações. Somente válido quando host for containerapp.
hooks N objeto Ganchos de nível de serviço. Consulte os ganchos de serviço.

Tip

Consulte exemplos de serviço para obter exemplos yaml completos de diferentes configurações de serviço.

Tipos de host

A host propriedade determina o tipo de recurso do Azure usado para implementação de serviço e controla quais outras propriedades são válidas.

Valor do host Descrição Requer project Suporta image Suporta docker Suporta k8s Suporta env Suporta apiVersion
appservice Serviço de Aplicativo do Azure Y N N N N N
containerapp Aplicativos de Contêiner do Azure project ou image (não ambos) Y Y N Y Y
function Azure Functions Y N N N N N
staticwebapp Aplicativos Web Estáticos do Azure Y N N N N N
springapp Aplicativos Spring do Azure Y N N N N N
aks Serviço de Kubernetes do Azure N N Y Y N N
ai.endpoint Ponto de extremidade online de IA do Azure Y N Y N N N
azure.ai.agent Agente de IA do Azure Y N Y N N N

Note

springapp O suporte requer aceitação para recursos alfa. Para obter mais informações, consulte os recursos alfa.

Note

Quando host for containerapp, você deve fornecer um image ou projectoutro, mas não ambos. Se image estiver definido, o contêiner será implantado a partir da imagem especificada. Se project estiver definido, a imagem do contêiner será criada a partir da origem.

ai.endpoint Configuração

(object, required when host is ai.endpoint) Fornece configuração adicional para a implantação de ponto de extremidade online de IA do Azure.

Propriedade Necessário Tipo Descrição
workspace N cadeia O nome do workspace do projeto do AI Studio. Quando omitido, azd usa o valor especificado na variável de AZUREAI_PROJECT_NAME ambiente. Dá suporte à substituição de variável de ambiente.
flow N objeto A configuração de Fluxo de Prompt do Azure AI Studio. Quando omitido, um fluxo de prompt não é criado. Consulte a configuração do componente de IA.
environment N objeto A configuração de ambiente personalizado do Azure AI Studio. Quando omitido, um ambiente personalizado não é criado. Consulte a configuração do componente de IA.
model N objeto A configuração do modelo do Azure AI Studio. Quando omitido, um modelo não é criado. Consulte a configuração do componente de IA.
deployment Y objeto A configuração de implantação de ponto de extremidade online do Azure AI Studio. Uma nova implantação de ponto de extremidade online é criada e o tráfego é automaticamente deslocado para a nova implantação após a conclusão bem-sucedida. Consulte a configuração de implantação de IA.

Note

Quando host é ai.endpoint, ambos project e config são necessários. Consulte ai.endpoint a configuração das propriedades de configuração necessárias.

Configuração do componente de IA
Propriedade Necessário Tipo Descrição
name N cadeia Nome do componente de IA. Quando omitido, azd gera um nome com base no tipo de componente e no nome do serviço. Dá suporte à substituição de variável de ambiente.
path Y cadeia O caminho para o arquivo de configuração do componente de IA ou o código-fonte.
overrides N objeto Um mapa de pares de valores de chave usados para substituir a configuração do componente de IA. Dá suporte à substituição de variável de ambiente.
Configuração de implantação de IA

Herda todas as propriedades da configuração do componente de IA, além de:

Propriedade Necessário Tipo Descrição
environment N objeto Um mapa de pares chave/valor a ser definido como variáveis de ambiente para a implantação. Os valores dão suporte à substituição de variável de ambiente e azd sistema operacional.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(objeto) Configuração do Docker para um serviço. Aplicável somente a hosts que dão suporte a contêineres (containerapp, , aks, ai.endpoint). azure.ai.agent

Propriedade Necessário Tipo Descrição
path N cadeia O caminho para o Dockerfile, em relação ao seu serviço. Padrão: ./Dockerfile.
context N cadeia O contexto de build do Docker. Quando especificado, substitui o contexto padrão. Padrão: ..
platform N cadeia O destino da plataforma. Padrão: amd64.
registry N cadeia O registro de contêiner para o qual enviar a imagem por push. Se omitido, o padrão será o valor da variável de AZURE_CONTAINER_REGISTRY_ENDPOINT ambiente. Dá suporte à substituição de variável de ambiente.
image N cadeia O nome que é aplicado à imagem de contêiner criada. Se omitido, o padrão será {appName}/{serviceName}-{environmentName}. Dá suporte à substituição de variável de ambiente.
tag N cadeia A marca que é aplicada à imagem de contêiner criada. Se omitido, o padrão será azd-deploy-{unix time (seconds)}. Dá suporte à substituição de variável de ambiente.
buildArgs N Matriz de cadeias de caracteres Crie argumentos para passar para o comando de build do Docker.
network N cadeia O modo de rede para instruções RUN durante o build do Docker. Passado quanto --network ao build do Docker. Por exemplo, use host para permitir que o contêiner de build acesse a rede de host.
remoteBuild N boolean Se a imagem deve ser criada remotamente. Se definido como true, a imagem será criada remotamente usando o recurso de build remoto do Registro de Contêiner do Azure. Se o build remoto falhar, azd retornará automaticamente à compilação localmente usando o Docker ou o Podman, se disponível.

k8s

(objeto) Opções de configuração do AKS (Serviço de Kubernetes do Azure). Somente válido quando host for aks.

Propriedade Necessário Tipo Descrição
deploymentPath N cadeia O caminho relativo do caminho do serviço para os manifestos de implantação k8s. Padrão: manifests.
namespace N cadeia O namespace k8s dos recursos implantados. Quando especificado, um novo namespace k8s será criado se ele ainda não existir. Padrão: nome do projeto.
deployment N objeto A configuração de implantação do k8s. Consulte a configuração de implantação.
service N objeto A configuração do serviço k8s. Consulte a configuração de serviço.
ingress N objeto A configuração de entrada k8s. Consulte a configuração de entrada.
helm N objeto A configuração do helm. Consulte a configuração do Helm.
kustomize N objeto A configuração kustomize. Consulte a configuração do Kustomize.
Configuração de implantação
Propriedade Necessário Tipo Descrição
name N cadeia O nome do recurso de implantação k8s a ser usado durante a implantação. Se não estiver definido, procurará um recurso de implantação no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
Configuração de serviço
Propriedade Necessário Tipo Descrição
name N cadeia O nome do recurso de serviço k8s a ser usado como o ponto de extremidade de serviço padrão. Se não for definido, pesquisará um recurso de serviço no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
Configuração de entrada
Propriedade Necessário Tipo Descrição
name N cadeia O nome do recurso de entrada k8s a ser usado como o ponto de extremidade de serviço padrão. Se não estiver definido, pesquisará um recurso de entrada no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
relativePath N cadeia O caminho relativo para o serviço da raiz do controlador de entrada. Quando definido, ele é acrescentado à raiz do caminho do recurso de entrada.
Configuração do Helm
Propriedade Necessário Tipo Descrição
repositories N matriz Os repositórios do helm a serem adicionados.
releases N matriz O helm é liberado para instalação.

repositories itens de matriz:

Propriedade Necessário Tipo Descrição
name Y cadeia O nome do repositório helm.
url Y cadeia A URL do repositório helm.

releases itens de matriz:

Propriedade Necessário Tipo Descrição
name Y cadeia O nome da versão do helm.
chart Y cadeia O nome do gráfico do helm.
version N cadeia A versão do gráfico do helm.
namespace N cadeia O namespace k8s para instalar o gráfico do helm. O padrão é o namespace do serviço.
values N cadeia Caminho relativo do serviço para um values.yaml para passar para o gráfico do helm.
Configuração de Kustomize
Propriedade Necessário Tipo Descrição
dir N cadeia O caminho relativo para o diretório kustomize. Dá suporte à substituição de variável de ambiente.
edits N Matriz de cadeias de caracteres As edições kustomize a serem aplicadas antes da implantação. Dá suporte à substituição de variável de ambiente.
env N objeto Pares de chave/valor de ambiente usados para gerar um .env arquivo no diretório kustomize. Os valores dão suporte à substituição de variável de ambiente.

Ganchos de serviço

Ganchos de nível de serviço são executados durante eventos do ciclo de vida do serviço. Os ganchos devem corresponder aos nomes de eventos de serviço prefixados com pre ou post. Ao especificar caminhos, eles devem ser relativos ao caminho do serviço. Consulte Personalizar seus fluxos de trabalho da CLI do Desenvolvedor do Azure usando comando e ganchos de evento para obter mais detalhes.

Ganchos de serviço com suporte: prerestore, , postrestore, prebuild, postbuild, prepackage, postpackage, , prepublish, postpublish, , , predeploy. postdeploy

Cada gancho usa o formato de definição do Gancho .

Exemplos de serviço

Aplicativos de contêiner com opções do 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
Aplicativos de contêiner de uma imagem predefinida
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
AKS com ganchos de nível de serviço
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) Definição de recursos do Azure usados pelo aplicativo. Cada chave é um nome de recurso e o valor é um objeto de configuração de recurso. Os recursos podem ser referenciados por serviços por meio da uses propriedade.

Propriedades comuns do recurso

Propriedade Necessário Tipo Descrição
type Y cadeia O tipo de recurso. Consulte os tipos de recursos.
uses N matriz Outros recursos dos quais esse recurso depende.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

Tip

Consulte o exemplo de Recursos para obter um exemplo yaml completo combinando vários tipos de recursos.

Tipos de recursos

A type propriedade determina o tipo de recurso do Azure e controla quais propriedades adicionais estão disponíveis.

Tipo de valor Descrição Propriedades adicionais
host.appservice Aplicativo Web do Serviço de Aplicativo do Azure Consulte host.appservice as propriedades.
host.containerapp Aplicativo de contêiner baseado em Docker Consulte host.containerapp as propriedades.
ai.openai.model Um modelo de IA implantado e pronto para uso Consulte ai.openai.model as propriedades.
ai.project Um projeto do Microsoft Foundry com modelos Consulte ai.project as propriedades.
ai.search Pesquisa de IA do Azure  Consulte ai.search as propriedades.
db.postgres Banco de Dados do Azure para PostgreSQL Nenhuma propriedade extra.
db.mysql Banco de Dados do Azure para MySQL Nenhuma propriedade extra.
db.redis Cache do Azure para Redis Nenhuma propriedade extra.
db.mongo Azure Cosmos DB for MongoDB Nenhuma propriedade extra.
db.cosmos Azure Cosmos DB for NoSQL Consulte db.cosmos as propriedades.
messaging.eventhubs Namespace dos Hubs de Eventos do Azure Consulte messaging.eventhubs as propriedades.
messaging.servicebus Namespace do Azure Service Bus Consulte messaging.servicebus as propriedades.
storage Conta de Armazenamento do Azure Consulte storage as propriedades.
keyvault Azure Key Vault Consulte keyvault as propriedades.

propriedades de host.appservice

Propriedade Necessário Tipo Descrição
port N inteiro Porta na qual o aplicativo Web escuta. Padrão: 80.
runtime Y objeto A configuração de runtime do idioma. Consulte abaixo.
env N matriz Variáveis de ambiente. Cada item tem name (obrigatório) valuee secret propriedades. Dá suporte à substituição de variável de ambiente.
startupCommand N cadeia Comando de inicialização que é executado como parte da inicialização do aplicativo Web.
uses N Matriz de cadeias de caracteres Outros recursos que esse recurso usa.

runtime Objeto:

Propriedade Necessário Tipo Descrição
stack Y cadeia A pilha de runtime do idioma. Valores permitidos: node, python.
version Y cadeia A versão de runtime do idioma. O formato varia de acordo com a pilha (por exemplo, 22-lts para Nó, 3.13 para Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

propriedades de host.containerapp

Propriedade Necessário Tipo Descrição
port N inteiro Porta na qual o aplicativo de contêiner escuta. Padrão: 80.
env N matriz Variáveis de ambiente. Cada item tem name (obrigatório) valuee secret propriedades. Dá suporte à substituição de variável de ambiente.
uses N Matriz de cadeias de caracteres Outros recursos que esse recurso usa.

propriedades de ai.openai.model

Propriedade Necessário Tipo Descrição
model Condicional objeto O modelo de IA subjacente. Necessário quando existing é false.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

model Objeto:

Propriedade Necessário Tipo Descrição
name Y cadeia O nome do modelo de IA.
version Y cadeia A versão do modelo de IA.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

propriedades de ai.project

Propriedade Necessário Tipo Descrição
models N matriz Os modelos de IA a serem implantados como parte do projeto de IA.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

models itens de matriz:

Propriedade Necessário Tipo Descrição
name Y cadeia O nome do modelo de IA.
version Y cadeia A versão do modelo de IA.
format Y cadeia O formato do modelo de IA (por exemplo, Microsoft, ). OpenAI
sku Y objeto A configuração de SKU para o modelo de IA.

sku Objeto:

Propriedade Necessário Tipo Descrição
name Y cadeia O nome da SKU (por exemplo, GlobalStandard).
usageName Y cadeia O nome de uso da SKU para fins de cobrança (por exemplo, OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y inteiro A capacidade da SKU.

propriedades de ai.search

Propriedade Necessário Tipo Descrição
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

propriedades de db.cosmos

Propriedade Necessário Tipo Descrição
containers N matriz Contêineres para armazenar dados. Cada contêiner armazena uma coleção de itens.

containers itens de matriz:

Propriedade Necessário Tipo Descrição
name Y cadeia É o nome do contêiner.
partitionKeys Y matriz As chaves de partição usadas para distribuir dados entre partições. Máximo de 3 chaves. Padrão: /id.

propriedades de messaging.eventhubs

Propriedade Necessário Tipo Descrição
hubs N Matriz de cadeias de caracteres Nomes de hub a serem criados no namespace dos Hubs de Eventos.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

propriedades de messaging.servicebus

Propriedade Necessário Tipo Descrição
queues N Matriz de cadeias de caracteres Nomes de fila para criar no namespace do Barramento de Serviço.
topics N Matriz de cadeias de caracteres Nomes de tópico a serem criados no namespace do Barramento de Serviço.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

propriedades de storage

Propriedade Necessário Tipo Descrição
containers N Matriz de cadeias de caracteres Nomes de contêiner da Conta de Armazenamento do Azure.
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

propriedades de keyvault

Propriedade Necessário Tipo Descrição
existing N boolean Quando definido como true, esse recurso não é criado e, em vez disso, é usado para fins de referência. Padrão: false.

Exemplo 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) Definição de pipeline de integração contínua.

Propriedade Necessário Tipo Descrição
provider N cadeia O provedor de pipeline a ser usado para integração contínua. Padrão: github. Valores permitidos: github, azdo.
variables N Matriz de cadeias de caracteres Lista de variáveis de azd ambiente a serem usadas no pipeline como variáveis.
secrets N Matriz de cadeias de caracteres Lista de variáveis de azd ambiente a serem usadas no pipeline como segredos.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(objeto) Ganchos de nível de comando. Os ganchos devem corresponder azd nomes de comando prefixados com pre ou post dependendo de quando o script deve ser executado. Ao especificar caminhos, eles devem ser relativos ao caminho do projeto. Consulte Personalizar seus fluxos de trabalho da CLI do Desenvolvedor do Azure usando comando e ganchos de evento para obter mais detalhes.

Ganchos de comando com suporte: preprovision, , postprovision, preinfracreate, postinfracreate, preinfradelete, postinfradelete, , postdownpredown, preup, , postup, prepackage, , postpackage, , prepublish, postpublish, , predeploy, postdeploy, , prerestore, postrestore.

Cada gancho usa o formato de definição do Gancho .

Tip

Consulte exemplos do Gancho para obter exemplos de YAML completos, incluindo ganchos específicos da plataforma, executores tipado e vários ganchos por evento.

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

Definição de gancho

Um gancho pode ser um único objeto de gancho ou uma matriz de objetos de gancho. Cada objeto de gancho tem as seguintes propriedades:

Propriedade Necessário Tipo Descrição
run Condicional cadeia O script embutido ou o caminho relativo do script. Necessário ao especificar shell, , kind, dir, interactive, continueOnError, , secretsou config. Ao especificar um script embutido, você também deve especificar o shell que usar. O shell é inferido automaticamente ao usar caminhos de arquivo.
shell N cadeia Tipo de shell para executar scripts. Padrão: sh. Valores permitidos: sh, pwsh.
kind N cadeia Tipo de executor para o script de gancho. Quando omitido, o tipo é detectado automaticamente da extensão de arquivo do run caminho (por exemplo, .py torna-se python, .ps1 torna-se pwsh). Valores permitidos: sh, pwsh, js, ts, python, dotnet.
dir N cadeia Diretório de trabalho para execução de gancho. Usado como a raiz do projeto para instalação de dependência e como o diretório de trabalho ao executar o script. Os caminhos relativos são resolvidos do projeto ou da raiz do serviço. Quando omitido, o padrão é o diretório que contém o arquivo de script.
continueOnError N boolean Se um erro de script interrompe o azd comando. Padrão: false.
interactive N boolean Se o script é executado no modo interativo, associando a stdin, stdoute stderr do console em execução. Padrão: false.
windows N objeto Quando especificado, substitui a configuração do gancho quando executado em ambientes do Windows. Usa o mesmo formato de objeto de gancho.
posix N objeto Quando especificado, substitui a configuração do gancho quando executado em ambientes POSIX (Linux e macOS). Usa o mesmo formato de objeto de gancho.
secrets N objeto Um mapa de variáveis de azd ambiente para conectar segredos. Se uma variável tiver sido definida como um segredo no ambiente, o valor do segredo será passado para o gancho.
config N objeto Configuração específica do executor. As propriedades disponíveis dependem do kind valor. Consulte a configuração do executor do Gancho.

Note

Quando ambos windows e posix são especificados, as runpropriedades , , shell, kinddir, interactive, secretscontinueOnErrore , não config podem ser usadas no nível superior. Em vez disso, use os objetos específicos da plataforma.

Configuração do executor do gancho

A config propriedade aceita propriedades diferentes dependendo do kind valor.

Configuração de JavaScript e TypeScript (js, ts)

Propriedade Necessário Tipo Descrição
packageManager N cadeia O gerenciador de pacotes a ser usado para instalação de dependência. Substitui a detecção automática de arquivos de bloqueio. Valores permitidos: npm, pnpm, yarn.

Configuração do Python

Propriedade Necessário Tipo Descrição
virtualEnvName N cadeia O nome do diretório para o ambiente virtual do Python. O padrão é a detecção automática (.venv, venv) ou {baseName}_env.

Configuração do .NET (dotnet)

Propriedade Necessário Tipo Descrição
configuration N cadeia A configuração do MSBuild para a criação do script de gancho (por exemplo, Debug, ). Release
framework N cadeia O moniker da estrutura de destino para compilar e executar o script de gancho (por exemplo, net8.0, ). net10.0

Configuração do Shell (sh, pwsh)

Atualmente, os executores de shell não dão suporte config a propriedades.

Exemplos de gancho

Ganchos específicos da plataforma

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

Gancho do Python com tipo

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

Vários ganchos para um único evento

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

requiredVersions

(objeto) Fornece configuração adicional para versões azd e extensões necessárias.

Propriedade Necessário Tipo Descrição
azd N cadeia Uma variedade de versões com suporte de azd para este projeto. Se a versão estiver azd fora desse intervalo, o projeto falhará ao carregar. Dá suporte à sintaxe de intervalo semver.
extensions N objeto Um mapa de extensões necessárias e restrições de versão para este projeto. Dá suporte a restrições semver. Se a versão for omitida, a versão mais recente será instalada.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(objeto) Fornece configuração adicional para o gerenciamento de estado.

Propriedade Necessário Tipo Descrição
remote N objeto Fornece configuração adicional para o gerenciamento de estado remoto. Consulte state.remote.

state.remote

Propriedade Necessário Tipo Descrição
backend Y cadeia O tipo de back-end de estado remoto. Padrão: AzureBlobStorage. Valores permitidos: AzureBlobStorage.
config Condicional objeto Configuração específica de back-end. Necessário quando backend é AzureBlobStorage. Consulte a configuração do Armazenamento de Blobs do Azure.

Configuração do Armazenamento de Blobs do Azure

Propriedade Necessário Tipo Descrição
accountName Y cadeia O nome da conta do Azure Storage.
containerName N cadeia O nome do contêiner do Armazenamento do Azure. O padrão será o nome do projeto, se não for especificado.
endpoint N cadeia O ponto de extremidade do Armazenamento do Azure. Padrão: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(objeto) Fornece configuração adicional para recursos específicos da plataforma, como o Centro de Desenvolvimento do Azure.

Propriedade Necessário Tipo Descrição
type Y cadeia O tipo de plataforma. Valores permitidos: devcenter.
config N objeto Configuração específica da plataforma. Consulte a configuração do Centro de Desenvolvimento.

Configuração do Centro de Desenvolvimento

Disponível quando type for devcenter:

Propriedade Necessário Tipo Descrição
name N cadeia O nome do Centro de Desenvolvimento do Azure. Usado como o centro de desenvolvimento padrão para este projeto.
project N cadeia O nome do projeto do Centro de Desenvolvimento do Azure.
catalog N cadeia O nome do catálogo do Centro de Desenvolvimento do Azure.
environmentDefinition N cadeia O nome da definição de ambiente do catálogo do Centro de Desenvolvimento.
environmentType N cadeia O tipo de ambiente de projeto do Centro de Desenvolvimento usado para o ambiente de implantação.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(objeto) Fornece configuração adicional para fluxos de trabalho, como o comportamento de substituição azd up .

Propriedade Necessário Tipo Descrição
up N objeto ou matriz Quando especificado, substitui o comportamento padrão para o azd up fluxo de trabalho.

Etapas do fluxo de trabalho

O up fluxo de trabalho aceita uma steps matriz (ou pode ser especificado diretamente como uma matriz). Cada etapa executa um azd comando.

Propriedade Necessário Tipo Descrição
azd Y cadeia de caracteres ou objeto O azd comando a ser executado. Pode ser uma cadeia de caracteres (por exemplo, provision) ou um objeto com uma args matriz.

Configurar a ordem da etapa do fluxo de trabalho

O arquivo a seguir azure.yaml altera o comportamento padrão de azd up mover a azd package etapa após a azd provision etapa. Use essa abordagem em cenários em que você precisa saber as URLs dos recursos durante o processo de build ou empacotamento.

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) Fornece configuração adicional para implantação em nuvens soberanas, como o Azure Governamental. A nuvem padrão é AzureCloud.

Propriedade Necessário Tipo Descrição
name N cadeia O nome do ambiente de nuvem. Valores permitidos: AzureCloud, AzureChinaCloud, AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Solicitar ajuda

Para obter informações sobre como arquivar um bug, solicitar ajuda ou propor um novo recurso para a CLI do Desenvolvedor do Azure, visite a página solução de problemas e suporte.

Próximas etapas