Azure Developer CLI schema reference

O azure.yaml ficheiro é o ficheiro de configuração para projetos Azure Developer CLI (azd). Coloque-o na raiz do seu projeto para definir os serviços, recursos Azure, infraestrutura, hooks e pipeline CI/CD que compõem a sua aplicação. Quando executas comandos como azd up, azd provision, ou azd deploy, a CLI lê este ficheiro para perceber a estrutura da tua aplicação e como a implementar no Azure.

Este artigo é uma referência completa para o esquema azure.yaml. Para começar com azd templates, consulte a visão geral dos templates de CLI para Desenvolvedores do Azure.

Amostra

Segue-se um exemplo genérico de um azure.yaml ficheiro para um azd modelo. Para um exemplo do mundo real, veja o azure.yamldo modelo 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 topo

Nome do elemento Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome do aplicativo. Apenas letras minúsculas, números e hífens (-) são permitidos. O nome deve começar e terminar com uma letra ou número.
resourceGroup N cadeia (de caracteres) Nome do grupo de recursos do Azure. Quando especificado, substitui o nome do grupo de recursos usado para provisionamento de infraestrutura. Suporta substituição de variáveis de ambiente.
metadata N objecto Metadados sobre o modelo de aplicação.
infra N objecto Fornece configuração adicional para o provisionamento de infraestruturas Azure.
services N objecto Definição dos serviços que compõem a aplicação.
resources N objecto Definição dos recursos Azure usados pela aplicação.
pipeline N objecto Definição de pipeline de integração contínua.
hooks N objecto Ganchos de nível de comando para azd comandos.
requiredVersions N objecto Fornece configuração adicional para versões e azd extensões necessárias.
state N objecto Fornece configuração adicional para a gestão do estado.
platform N objecto Fornece configuração adicional para funcionalidades específicas da plataforma, como o Azure Dev Center.
workflows N objecto Fornece configuração adicional para fluxos de trabalho, como o comportamento de sobreposição azd up .
cloud N objecto Fornece configuração adicional para implantação em clouds soberanas. A cloud padrão é AzureCloud.

name

(fio, necessário) O nome da candidatura. Apenas letras minúsculas, números e hífens (-) são permitidos. O nome deve começar e terminar com uma letra ou número. Duração mínima: 2 caracteres.

name: my-app

resourceGroup

(string) Nome do grupo de recursos do Azure. Quando especificado, substitui o nome do grupo de recursos usado para provisionamento de infraestrutura. Suporta substituição de variáveis de ambiente. Deve ter entre 3 e 64 caracteres.

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

metadata

(objeto) Metadados sobre o modelo de aplicação.

Property Necessário Tipo Descrição
template N cadeia (de caracteres) Identificador do modelo a partir do qual a aplicação foi criada.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

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

Property Necessário Tipo Descrição
provider N cadeia (de caracteres) O fornecedor de provisionamento de infraestrutura costumava provisionar os recursos Azure para a aplicação. Padrão: bicep. Valores permitidos: bicep, terraform.
path N cadeia (de caracteres) O caminho relativo da pasta para os templates de provisionamento Azure para o fornecedor especificado. Padrão: infra.
module N cadeia (de caracteres) O nome do módulo padrão dentro dos templates de provisionamento do Azure. Padrão: main.
layers N matriz Camadas para provisionamento de infraestruturas Azure. Consulte infra.layers.

Note

Quando layers é especificado com pelo menos um item, as path propriedades e module não podem ser usadas. Use valores e module e específicos path de camada em vez disso.

infra.layers

(array de objetos) Define camadas de provisão para a infraestrutura Azure. Cada camada representa uma unidade independente de provisionamento.

Property Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome da camada de provisionamento.
path Y cadeia (de caracteres) O caminho relativo da pasta para os templates de provisionamento Azure para o fornecedor especificado.
module N cadeia (de caracteres) O nome do módulo de provisionamento Azure usado ao provisionar recursos. Padrão: main.
hooks N objecto Ganchos de camada de provisionamento. Suportes preprovision e postprovision ganchos. Ao especificar caminhos, estes devem ser relativos ao percurso da camada. Ver definição de Hook.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Terraform como amostra de provedor IaC

Para usar Terraform em vez de Bicep, defina o provider para terraform. Para mais informações, consulte Use Terraform como fornecedor 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 dos serviços que compõem a aplicação. Cada chave é um nome de serviço, e o valor é um objeto de configuração de serviço.

Propriedades de serviço

Property Necessário Tipo Descrição
host Y cadeia (de caracteres) O tipo de recurso Azure usado para implementação de serviços. Ver Tipos de hospedeiro.
project Conditional cadeia (de caracteres) Caminho para o diretório do código-fonte do serviço. Obrigatório para a maioria dos tipos de hospedeiros.
image Conditional cadeia (de caracteres) A imagem de origem a ser usada para a imagem do contentor em vez de ser construída a partir da fonte. Suporta substituição de variáveis de ambiente. Só válido para containerapp o anfitrião.
language N cadeia (de caracteres) Linguagem de implementação de serviços. Valores permitidos: dotnet, csharp, fsharppy, , python, js, ts, java, . docker
module N cadeia (de caracteres) Caminho do módulo de infraestrutura usado para implementar o serviço em relação à pasta raiz de infra. Se omitida, a CLI assume que o nome do módulo é o mesmo que o nome do serviço.
dist N cadeia (de caracteres) Artefactos do caminho relativo para a implementação do serviço.
resourceName N cadeia (de caracteres) Nome do recurso Azure que implementa o serviço. Por defeito, a CLI descobre o recurso Azure com a tag azd-service-name definida para o nome do serviço atual. Suporta substituição de variáveis de ambiente.
resourceGroup N cadeia (de caracteres) Nome do grupo de recursos Azure que contém o recurso. Quando especificado, a CLI encontra o recurso Azure dentro do grupo de recursos especificado. Suporta substituição de variáveis de ambiente.
remoteBuild N boolean Se deve usar a compilação remota para a implementação de aplicações de funções. Só é válido quando host é function. Quando definido para true, o pacote de implementação é construído remotamente usando o Oryx. Por defeito é true para aplicações de funções JavaScript, TypeScript e Python.
docker N objecto Configuração do Docker. Aplica-se apenas a hosts baseados em contentores. Consulte docker.
k8s N objecto Opções de configuração do AKS. Só é válido quando host é aks. Consulte k8s.
config N objecto Opções extra de configuração para o serviço.
uses N matriz Lista de nomes de serviços e de recursos de que este serviço depende.
env N objecto Um mapa dos nomes das variáveis do ambiente para valores. Suporta substituição de variáveis de ambiente.
apiVersion N cadeia (de caracteres) Versão da API do fornecedor de recursos para implementações. Só é válido quando host é containerapp.
hooks N objecto Ganchos de nível de serviço. Ver ganchos de serviço.

Tip

Consulte exemplos de serviço para exemplos completos em YAML de diferentes configurações de serviço.

Tipos de hospedeiros

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

Valor do hospedeiro Descrição Requer project Suportes image Suportes docker Suportes k8s Suportes env Suportes apiVersion
appservice Serviço de Aplicações do Azure Y N N N N N
containerapp Azure Container Apps project ou image (não ambos) Y Y N Y Y
function Funções do Azure Y N N N N N
staticwebapp Aplicações Web Estáticas do Azure Y N N N N N
springapp Azure Spring Apps Y N N N N N
aks Azure Kubernetes Service N N Y Y N N
ai.endpoint Azure AI online endpoint Y N Y N N N
azure.ai.agent Agente da Azure AI Y N Y N N N

Note

springapp O suporte exige a opção de optar por funcionalidades alfa. Para mais informações, veja funcionalidades Alpha.

Note

Quando host é containerapp, deve fornecer ou image ou project, mas não ambos. Se image for definido, o contentor é implementado a partir da imagem especificada. Se project for definido, a imagem do contentor é construída a partir da fonte.

ai.endpoint config

(objeto, necessário quando host é ai.endpoint) Fornece configuração adicional para a implementação de endpoints online do Azure AI.

Property Necessário Tipo Descrição
workspace N cadeia (de caracteres) O nome do espaço de trabalho do projeto AI Studio. Quando omitido, azd usa o valor especificado na AZUREAI_PROJECT_NAME variável de ambiente. Suporta substituição de variáveis de ambiente.
flow N objecto A configuração Azure AI Studio Prompt Flow. Quando é omitido, não é criado um fluxo de prompt. Veja a configuração dos componentes da IA.
environment N objecto A configuração do ambiente personalizado do Azure AI Studio. Quando é omitido, não é criado um ambiente personalizado. Veja a configuração dos componentes da IA.
model N objecto A configuração do modelo Azure AI Studio. Quando é omitido, um modelo não é criado. Veja a configuração dos componentes da IA.
deployment Y objecto A configuração de implementação online do endpoint do Azure AI Studio. É criada uma nova implementação de endpoint online e o tráfego é automaticamente transferido para a nova implementação após a conclusão bem-sucedida. Veja a configuração de implementação de IA.

Note

Quando host é ai.endpoint, tanto project como config são necessários. Consulte ai.endpoint config para as propriedades de configuração necessárias.

Configuração de componentes de IA
Property Necessário Tipo Descrição
name N cadeia (de caracteres) Nome do componente de IA. Quando omitido, azd gera um nome com base no tipo de componente e no nome do serviço. Suporta substituição de variáveis de ambiente.
path Y cadeia (de caracteres) O caminho para o ficheiro de configuração do componente de IA ou código-fonte.
overrides N objecto Um mapa de pares-chave-valor usado para sobrepor a configuração dos componentes de IA. Suporta substituição de variáveis de ambiente.
Configuração de implementação de IA

Herda todas as propriedades da configuração dos componentes de IA, mais:

Property Necessário Tipo Descrição
environment N objecto Um mapa de pares chave/valor para definir como variáveis de ambiente para a implementação. Os valores suportam substituição de variáveis do sistema operativo e azd do ambiente.
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 Docker para um serviço. Aplicável apenas a hosts que suportam containers (containerapp, aks, ai.endpoint, azure.ai.agent).

Property Necessário Tipo Descrição
path N cadeia (de caracteres) O caminho para o Dockerfile, relativo ao teu serviço. Padrão: ./Dockerfile.
context N cadeia (de caracteres) O contexto da build do docker. Quando especificado, sobrepõe-se ao contexto padrão. Padrão: ..
platform N cadeia (de caracteres) O alvo da plataforma. Padrão: amd64.
registry N cadeia (de caracteres) O registo de contentores para enviar a imagem. Se for omitido, por defeito passa ao valor da AZURE_CONTAINER_REGISTRY_ENDPOINT variável de ambiente. Suporta substituição de variáveis de ambiente.
image N cadeia (de caracteres) O nome que é aplicado à imagem do contentor construída. Se for omitido, passa por padrão a {appName}/{serviceName}-{environmentName}. Suporta substituição de variáveis de ambiente.
tag N cadeia (de caracteres) A etiqueta que é aplicada à imagem do contentor construída. Se for omitido, passa por padrão a azd-deploy-{unix time (seconds)}. Suporta substituição de variáveis de ambiente.
buildArgs N matriz de strings Construir argumentos para passar ao comando docker build.
network N cadeia (de caracteres) O modo de rede para instruções RUN durante a construção do docker. Passei quanto --network à build docker. Por exemplo, use host para permitir que o contentor de construção aceda à rede anfitriã.
remoteBuild N boolean Se deve construir a imagem remotamente. Se definido para true, a imagem é construída remotamente usando a funcionalidade de compilação remota do Azure Container Registry. Se a compilação remota falhar, recorre azd automaticamente à compilação local usando Docker ou Podman, se possível.

k8s

(objecto) Opções de configuração Azure Kubernetes Service (AKS). Só é válido quando host é aks.

Property Necessário Tipo Descrição
deploymentPath N cadeia (de caracteres) O caminho relativo do caminho de serviço para a implementação do k8s manifesta-se. Padrão: manifests.
namespace N cadeia (de caracteres) O espaço de nomes k8s dos recursos implementados. Quando especificado, é criado um novo espaço de nomes k8s se este ainda não existir. Padrão: nome do projeto.
deployment N objecto A configuração de implementação do k8s. Veja Configuração de implantação.
service N objecto A configuração do serviço k8s. Ver configuração de serviço.
ingress N objecto A configuração de entrada do k8s. Veja a configuração de Ingress.
helm N objecto A configuração do leme. Ver configuração de Helm.
kustomize N objecto A configuração kustomize. Veja a configuração Kustomize.
Configuração de implementação
Property Necessário Tipo Descrição
name N cadeia (de caracteres) O nome do recurso de implantação do k8s a usar durante a implementação. Se não estiver definido, procura um recurso de implantação no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
Configuração do serviço
Property Necessário Tipo Descrição
name N cadeia (de caracteres) O nome do recurso de serviço k8s a usar como endpoint de serviço predefinido. Se não estiver definido, procura um recurso de serviço no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
Configuração Ingress
Property Necessário Tipo Descrição
name N cadeia (de caracteres) O nome do recurso de entrada k8s a usar como endpoint de serviço predefinido. Se não estiver definido, procura um recurso de entrada no mesmo namespace que contém o nome do serviço. Padrão: nome do serviço.
relativePath N cadeia (de caracteres) O caminho relativo para o serviço a partir da raiz do seu controlador de entrada. Quando está definido, é anexado à raiz do teu caminho de recurso de entrada.
Configuração do leme
Property Necessário Tipo Descrição
repositories N matriz Os repositórios de helm para acrescentar.
releases N matriz O leme liberta-se para instalar.

repositories Itens do Array:

Property Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome do repositório do elmo.
url Y cadeia (de caracteres) A URL do repositório helm.

releases Itens do Array:

Property Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome da libertação do leme.
chart Y cadeia (de caracteres) O nome do gráfico do leme.
version N cadeia (de caracteres) A versão do gráfico do leme.
namespace N cadeia (de caracteres) O espaço de nomes k8s para instalar o quadro de leme. Por defeito, o namespace do serviço.
values N cadeia (de caracteres) Caminho relativo do serviço para um values.yaml para passar até ao leme.
Kustomize config
Property Necessário Tipo Descrição
dir N cadeia (de caracteres) O caminho relativo para o diretório kustomize. Suporta substituição de variáveis de ambiente.
edits N matriz de strings As edições kustomize para aplicar antes da implementação. Suporta substituição de variáveis de ambiente.
env N objecto Pares chave/valor do ambiente usados para gerar um .env ficheiro no diretório kustomize. Os valores suportam substituição de variáveis no ambiente.

Ganchos de serviço

Os ganchos de nível de serviço executam-se durante os eventos do ciclo de vida do serviço. Os ganchos devem corresponder aos nomes dos eventos de serviço com prefixo de pre ou post. Ao especificar caminhos, estes devem ser relativos ao caminho de serviço. Consulte Personalizar seus fluxos de trabalho da CLI do Desenvolvedor do Azure usando de ganchos de comando e evento para obter mais detalhes.

Ganchos de serviço suportados: prerestore, postrestore, postbuildprebuild, prepackage, postpackage, , prepublish, postpublish, predeploy. postdeploy

Cada hook utiliza o formato de definição Hook .

Amostras de serviço

Aplicações de Container com opções 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
Aplicações Container a partir de uma imagem pré-construída
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 dos recursos Azure usados pela aplicação. Cada chave é um nome de recurso, e o valor é um objeto de configuração de recurso. Os recursos podem ser referenciados por serviços da uses propriedade.

Propriedades comuns dos recursos

Property Necessário Tipo Descrição
type Y cadeia (de caracteres) O tipo de recurso. Ver Tipos de recursos.
uses N matriz Outros recursos de que este recurso depende.
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

Tip

Consulte o exemplo de Recursos para um exemplo completo de YAML que combina múltiplos tipos de recursos.

Tipos de recursos

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

Valor do tipo Descrição Propriedades adicionais
host.appservice Azure App Service web app Ver host.appservice propriedades.
host.containerapp Aplicação de contentores baseada em Docker Ver host.containerapp propriedades.
ai.openai.model Um modelo de IA implementado e pronto a usar Ver ai.openai.model propriedades.
ai.project Um projeto Microsoft Foundry com modelos Ver ai.project propriedades.
ai.search Pesquisa de IA do Azure Ver ai.search propriedades.
db.postgres Base de Dados do Azure para PostgreSQL Sem propriedades extra.
db.mysql Base de Dados do Azure para MySQL Sem propriedades extra.
db.redis Cache do Azure para Redis Sem propriedades extra.
db.mongo Azure Cosmos DB for MongoDB Sem propriedades extra.
db.cosmos Azure Cosmos DB for NoSQL Ver db.cosmos propriedades.
messaging.eventhubs Namespace dos Hubs de Eventos do Azure Ver messaging.eventhubs propriedades.
messaging.servicebus Azure Service Bus namespace Ver messaging.servicebus propriedades.
storage Conta de Armazenamento do Azure Ver storage propriedades.
keyvault Azure Key Vault Ver keyvault propriedades.

host.appservice propriedades

Property Necessário Tipo Descrição
port N número inteiro Porta que a aplicação web ouve. Padrão: 80.
runtime Y objecto A configuração em tempo de execução da linguagem. Ver abaixo.
env N matriz Variáveis de ambiente. Cada item tem name (obrigatório), value, e secret propriedades. Suporta substituição de variáveis de ambiente.
startupCommand N cadeia (de caracteres) Comando de arranque que é executado como parte do arranque da aplicação web.
uses N matriz de strings Outros recursos que este recurso utiliza.

runtime objeto:

Property Necessário Tipo Descrição
stack Y cadeia (de caracteres) A pilha de runtime da linguagem. Valores permitidos: node, python.
version Y cadeia (de caracteres) A versão em tempo de execução da linguagem. O formato varia consoante a pilha (por exemplo, 22-lts para Node, 3.13 para Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp propriedades

Property Necessário Tipo Descrição
port N número inteiro Porta que a app do container escuta. Padrão: 80.
env N matriz Variáveis de ambiente. Cada item tem name (obrigatório), value, e secret propriedades. Suporta substituição de variáveis de ambiente.
uses N matriz de strings Outros recursos que este recurso utiliza.

ai.openai.model propriedades

Property Necessário Tipo Descrição
model Conditional objecto O modelo de IA subjacente. Obrigatório quando existing é false.
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

model objeto:

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

ai.project propriedades

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

models Itens do Array:

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

sku objeto:

Property Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome do SKU (por exemplo, GlobalStandard).
usageName Y cadeia (de caracteres) O nome de utilização do SKU para fins de faturação (por exemplo, OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y número inteiro A capacidade do SKU.

ai.search propriedades

Property Necessário Tipo Descrição
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

db.cosmos propriedades

Property Necessário Tipo Descrição
containers N matriz Contentores para armazenar dados. Cada contentor armazena uma coleção de itens.

containers Itens do Array:

Property Necessário Tipo Descrição
name Y cadeia (de caracteres) O nome do contêiner.
partitionKeys Y matriz A(s) chave(s) de partição são usadas para distribuir os dados entre partições. No máximo 3 chaves. Padrão: /id.

messaging.eventhubs propriedades

Property Necessário Tipo Descrição
hubs N matriz de strings Nomes de hubs a criar no espaço de nomes Event Hubs.
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

messaging.servicebus propriedades

Property Necessário Tipo Descrição
queues N matriz de strings Nomes de fila a criar no namespace do Service Bus.
topics N matriz de strings Nomes de tópicos a criar no espaço de nomes do Service Bus.
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

storage propriedades

Property Necessário Tipo Descrição
containers N matriz de strings Nomes de contentores da conta Azure Storage.
existing N boolean Quando definido para true, este recurso não é criado e é usado para fins de referência. Padrão: false.

keyvault propriedades

Property Necessário Tipo Descrição
existing N boolean Quando definido para true, este recurso não é criado e é 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.

Property Necessário Tipo Descrição
provider N cadeia (de caracteres) O fornecedor de pipelines a ser utilizado para integração contínua. Padrão: github. Valores permitidos: github, azdo.
variables N matriz de strings Lista de azd variáveis de ambiente a serem usadas no pipeline como variáveis.
secrets N matriz de strings Lista de azd variáveis de 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 de ganchos de comando e evento para obter mais detalhes.

Ganchos de comando suportados: , , postinfracreate, , , predownpostinfradelete, postdown, preup, postuppostrestorepostpublish. prepackagepostdeploypredeploypostpackageprepublishprerestorepreinfradeletepreinfracreatepostprovisionpreprovision

Cada hook utiliza o formato de definição Hook .

Tip

Consulte exemplos de Hook para exemplos completos de YAML, incluindo hooks específicos de plataforma, executores tipados e múltiplos hooks 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 anzol

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

Property Necessário Tipo Descrição
run Conditional cadeia (de caracteres) O script inline ou o caminho relativo do teu script. Obrigatório ao especificar shell, kind, dir, interactive, continueOnError, secrets, ou config. Ao especificar um script inline, também deve especificar o shell a usar. O shell é automaticamente inferido ao usar caminhos de ficheiro.
shell N cadeia (de caracteres) Tipo de shell para executar scripts. Padrão: sh. Valores permitidos: sh, pwsh.
kind N cadeia (de caracteres) Tipo executor para o script de gancho. Quando omitido, o tipo é detetado automaticamente a partir da extensão do ficheiro do run caminho (por exemplo, .py torna-se python, .ps1 torna-se pwsh). Valores permitidos: sh, pwsh, js, ts, python, dotnet.
dir N cadeia (de caracteres) Diretório de trabalho para execução de ganchos. Usado como raiz do projeto para instalação de dependências e como diretório de trabalho ao executar o script. Os caminhos relativos são resolvidos a partir da raiz do projeto ou do serviço. Quando omitido, por defeito passa para o diretório que contém o ficheiro de script.
continueOnError N boolean Se um erro de script interrompe o azd comando. Padrão: false.
interactive N boolean Se o script está a correr em modo interativo, associando-se a stdin, stdout, e stderr da consola em execução. Padrão: false.
windows N objecto Quando especificado, sobrepõe a configuração do gancho quando executado em ambientes Windows. Usa o mesmo formato de objeto gancho.
posix N objecto Quando especificado, sobrepõe a configuração do hook quando executado em ambientes POSIX (Linux e macOS). Usa o mesmo formato de objeto gancho.
secrets N objecto Um mapa de azd variáveis do ambiente para captar segredos. Se uma variável foi definida como segredo no ambiente, o valor do segredo é passado ao gancho.
config N objecto Configuração específica do executor. As propriedades disponíveis dependem do valor.kind Ver configuração do Hook executor.

Note

Quando tanto windows como são especificados, as runpropriedades , shell, kinddir, , continueOnErrorinteractive, , secrets, config e não podem ser usadas ao nível posix superior. Use antes os objetos específicos da plataforma.

Configuração do executor de gancho

A config propriedade aceita diferentes propriedades dependendo do valor.kind

JavaScript e TypeScript (js, ts) config

Property Necessário Tipo Descrição
packageManager N cadeia (de caracteres) O gestor de pacotes para usar na instalação de dependências. Anula a deteção automática dos ficheiros de bloqueio. Valores permitidos: npm, pnpm, yarn.

Configuração em Python

Property Necessário Tipo Descrição
virtualEnvName N cadeia (de caracteres) O nome do diretório para o ambiente virtual Python. Por defeito é a deteção automática (.venv, venv) ou {baseName}_env.

.NET (dotnet) config

Property Necessário Tipo Descrição
configuration N cadeia (de caracteres) A configuração MSBuild para construir o script hook (por exemplo, Debug, Release).
framework N cadeia (de caracteres) O nome de framework de destino para construir e executar o script de hook (por exemplo, net8.0, net10.0).

Configuração de shell (sh, pwsh)

Os executores de shell atualmente não suportam config propriedades.

Amostras de anzol

Ganchos específicos de plataforma

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

Gancho Python com amabilidade

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

Múltiplos 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 as versões necessárias de azd e extensões.

Property Necessário Tipo Descrição
azd N cadeia (de caracteres) Uma variedade de versões suportadas do azd para este projeto. Se a versão do azd estiver fora desse intervalo, o projeto não será carregado. Suporta sintaxe de intervalo de semver.
extensions N objecto Um mapa das extensões necessárias e das restrições de versão para este projeto. Suporta restrições de semver. Se a versão for omitida, a versão mais recente é 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 gestão de estados.

Property Necessário Tipo Descrição
remote N objecto Fornece configuração adicional para gestão remota de estados. Consulte state.remote.

state.remote

Property Necessário Tipo Descrição
backend Y cadeia (de caracteres) O tipo backend de estado remoto. Padrão: AzureBlobStorage. Valores permitidos: AzureBlobStorage.
config Conditional objecto Configuração específica do backend. Obrigatório quando backend é AzureBlobStorage. Veja a configuração do Azure Blob Storage.

Azure Blob Storage config

Property Necessário Tipo Descrição
accountName Y cadeia (de caracteres) O nome da conta do Azure Storage.
containerName N cadeia (de caracteres) O nome do contentor Azure Storage. Por defeito, o nome do projeto é indicado se não for especificado.
endpoint N cadeia (de caracteres) O endpoint Azure Storage. Padrão: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(objeto) Fornece configuração adicional para funcionalidades específicas da plataforma, como o Azure Dev Center.

Property Necessário Tipo Descrição
type Y cadeia (de caracteres) Do tipo plataforma. Valores permitidos: devcenter.
config N objecto Configuração específica da plataforma. Veja a configuração do Centro de Desenvolvimento.

Configuração do Centro de Desenvolvimento

Disponível quando type é devcenter:

Property Necessário Tipo Descrição
name N cadeia (de caracteres) O nome do Azure Dev Center. Usado como centro de desenvolvimento padrão para este projeto.
project N cadeia (de caracteres) O nome do projeto Azure Dev Center.
catalog N cadeia (de caracteres) O nome do catálogo do Azure Dev Center.
environmentDefinition N cadeia (de caracteres) O nome da definição do ambiente do catálogo do Centro de Desenvolvimento.
environmentType N cadeia (de caracteres) O tipo de ambiente de projeto do Dev Center usado para o ambiente de implementaçã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 sobreposição azd up .

Property Necessário Tipo Descrição
up N objeto ou array Quando especificado, sobrepõe-se ao comportamento padrão do azd up fluxo de trabalho.

Etapas do fluxo de trabalho

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

Property Necessário Tipo Descrição
azd Y string ou objeto O azd comando para executar. Pode ser uma cadeia (por exemplo, provision) ou um objeto com um args array.

Configurar a ordem dos passos do fluxo de trabalho

O ficheiro seguinte azure.yaml altera o comportamento padrão de azd up mover o azd package passo após o azd provision passo. Use esta abordagem em cenários onde precisa de conhecer as URLs dos recursos durante o processo de construção 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 implementação em clouds soberanas como Azure Government. A cloud padrão é AzureCloud.

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

Pedir 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 de solução de problemas e suporte do.

Próximos passos