Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.