Informazioni di riferimento sullo schema dell'interfaccia della riga di comando per sviluppatori di Azure

Il azure.yaml file è il file di configurazione per i progetti dell'interfaccia della riga di comando per sviluppatori di Azure (azd). Inserirlo nella radice del progetto per definire i servizi, le risorse di Azure, l'infrastruttura, gli hook e la pipeline CI/CD che costituiscono l'applicazione. Quando si eseguono comandi come azd up, azd provisiono azd deploy, l'interfaccia della riga di comando legge questo file per comprendere la struttura dell'app e come distribuirla in Azure.

Questo articolo è un riferimento completo per lo schema azure.yaml. Per informazioni introduttive su azd modelli, vedere Panoramica dei modelli dell'interfaccia della riga di comando per sviluppatori di Azure.

Sample

Di seguito è riportato un esempio generico di un azure.yaml file per un azd modello. Per un esempio reale, vedere dal azure.yamlmodello 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

Proprietà di primo livello

Nome elemento Obbligatorio TIPO Description
name corda Il nome dell'applicazione. Sono consentite solo lettere minuscole, numeri e trattini (-). Il nome deve iniziare e terminare con una lettera o un numero.
resourceGroup N corda Nome del gruppo di risorse di Azure. Se specificato, esegue l'override del nome del gruppo di risorse usato per il provisioning dell'infrastruttura. Supporta la sostituzione delle variabili di ambiente.
metadata N oggetto Metadati relativi al modello di applicazione.
infra N oggetto Fornisce una configurazione aggiuntiva per il provisioning dell'infrastruttura di Azure.
services N oggetto Definizione di servizi che costituiscono l'applicazione.
resources N oggetto Definizione delle risorse di Azure usate dall'applicazione.
pipeline N oggetto Definizione della pipeline di integrazione continua.
hooks N oggetto Hook a livello di comando per azd i comandi.
requiredVersions N oggetto Fornisce una configurazione aggiuntiva per le versioni richieste di azd e le estensioni.
state N oggetto Fornisce una configurazione aggiuntiva per la gestione dello stato.
platform N oggetto Fornisce una configurazione aggiuntiva per funzionalità specifiche della piattaforma, ad esempio Azure Dev Center.
workflows N oggetto Fornisce una configurazione aggiuntiva per i flussi di lavoro, ad esempio il comportamento di override azd up .
cloud N oggetto Fornisce una configurazione aggiuntiva per la distribuzione nei cloud sovrani. Il cloud predefinito è AzureCloud.

name

(string, required) Nome dell'applicazione. Sono consentite solo lettere minuscole, numeri e trattini (-). Il nome deve iniziare e terminare con una lettera o un numero. Lunghezza minima: 2 caratteri.

name: my-app

resourceGroup

(string) Nome del gruppo di risorse di Azure. Se specificato, esegue l'override del nome del gruppo di risorse usato per il provisioning dell'infrastruttura. Supporta la sostituzione delle variabili di ambiente. Deve essere compreso tra 3 e 64 caratteri.

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

metadata

(oggetto) Metadati relativi al modello di applicazione.

Proprietà Obbligatorio TIPO Description
template N corda Identificatore del modello da cui è stata creata l'applicazione.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(oggetto) Fornisce una configurazione aggiuntiva per il provisioning dell'infrastruttura di Azure.

Proprietà Obbligatorio TIPO Description
provider N corda Provider di provisioning dell'infrastruttura usato per effettuare il provisioning delle risorse di Azure per l'applicazione. Impostazione predefinita: bicep. Valori consentiti: bicep, terraform.
path N corda Percorso della cartella relativa ai modelli di provisioning di Azure per il provider specificato. Impostazione predefinita: infra.
module N corda Nome del modulo predefinito all'interno dei modelli di provisioning di Azure. Impostazione predefinita: main.
layers N elenco Livelli per il provisioning dell'infrastruttura di Azure. Vedete infra.layers.

Note

Quando layers viene specificato con almeno un elemento, le path proprietà e module non possono essere usate. Usare invece valori e module specifici path del livello.

infra.layers

(matrice di oggetti) Definisce i livelli di provisioning per l'infrastruttura di Azure. Ogni livello rappresenta un'unità indipendente di provisioning.

Proprietà Obbligatorio TIPO Description
name corda Nome del livello di provisioning.
path corda Percorso della cartella relativa ai modelli di provisioning di Azure per il provider specificato.
module N corda Nome del modulo di provisioning di Azure usato per il provisioning delle risorse. Impostazione predefinita: main.
hooks N oggetto Hook del livello di provisioning. Supporta preprovision e postprovision hook. Quando si specificano percorsi, devono essere relativi al percorso del livello. Vedere Definizione hook.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Esempio di provider Terraform as IaC

Per usare Terraform invece di Bicep, impostare su providerterraform. Per altre informazioni, vedere Usare Terraform come provider 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

(oggetto) Definizione di servizi che costituiscono l'applicazione. Ogni chiave è un nome del servizio e il valore è un oggetto di configurazione del servizio.

Proprietà del servizio

Proprietà Obbligatorio TIPO Description
host corda Tipo di risorsa di Azure usata per l'implementazione del servizio. Vedere Tipi di host.
project Condizionale corda Percorso della directory del codice sorgente del servizio. Obbligatorio per la maggior parte dei tipi di host.
image Condizionale corda Immagine di origine da usare per l'immagine del contenitore invece di compilarla dall'origine. Supporta la sostituzione delle variabili di ambiente. Valido solo per containerapp l'host.
language N corda Linguaggio di implementazione del servizio. Valori consentiti: dotnet, csharp, fsharp, py, python, js, tsjava. docker
module N corda Percorso del modulo di infrastruttura usato per distribuire il servizio relativo alla cartella infrastruttura radice. Se omesso, l'interfaccia della riga di comando presuppone che il nome del modulo corrisponda al nome del servizio.
dist N corda Percorso relativo agli artefatti di distribuzione del servizio.
resourceName N corda Nome della risorsa di Azure che implementa il servizio. Per impostazione predefinita, l'interfaccia della riga di comando individua la risorsa di Azure con tag azd-service-name impostata sul nome del servizio corrente. Supporta la sostituzione delle variabili di ambiente.
resourceGroup N corda Nome del gruppo di risorse di Azure che contiene la risorsa. Se specificato, l'interfaccia della riga di comando trova la risorsa di Azure all'interno del gruppo di risorse specificato. Supporta la sostituzione delle variabili di ambiente.
remoteBuild N booleano Indica se usare la compilazione remota per la distribuzione di app per le funzioni. Valido solo quando host è function. Se impostato su true, il pacchetto di distribuzione viene compilato in modalità remota usando Oryx. L'impostazione predefinita è true per le app per le funzioni JavaScript, TypeScript e Python.
docker N oggetto Configurazione di Docker. Applicabile solo per gli host basati su contenitori. Vedete docker.
k8s N oggetto Opzioni di configurazione del servizio Azure Kubernetes. Valido solo quando host è aks. Vedete k8s.
config N oggetto Opzioni di configurazione aggiuntive per il servizio.
uses N elenco Elenco di nomi di servizio e nomi di risorse da cui dipende questo servizio.
env N oggetto Mappa dei nomi delle variabili di ambiente ai valori. Supporta la sostituzione delle variabili di ambiente.
apiVersion N corda Versione dell'API del provider di risorse per le distribuzioni. Valido solo quando host è containerapp.
hooks N oggetto Hook a livello di servizio. Vedere Hook del servizio.

Tip

Vedere Esempi di servizio per esempi YAML completi di diverse configurazioni del servizio.

Tipi di host

La host proprietà determina il tipo di risorsa di Azure usata per l'implementazione del servizio e controlla quali altre proprietà sono valide.

Valore host Description Richiede project Supporta image Supporta docker Supporta k8s Supporta env Supporta apiVersion
appservice Servizio app di Azure N N N N N
containerapp App contenitore di Azure project o image (non entrambi) N
function Azure Functions N N N N N
staticwebapp App Web statiche di Azure N N N N N
springapp App Spring di Azure N N N N N
aks Servizio Azure Kubernetes N N N N
ai.endpoint Endpoint online di Intelligenza artificiale di Azure N N N N
azure.ai.agent Agente di intelligenza artificiale di Azure N N N N

Note

springapp il supporto richiede il consenso esplicito per le funzionalità alfa. Per altre informazioni, vedere Funzionalità alfa.

Note

Quando host è containerapp, è necessario specificare image o project, ma non entrambi. Se image è impostato, il contenitore viene distribuito dall'immagine specificata. Se project è impostata, l'immagine del contenitore viene compilata dall'origine.

ai.endpoint Config

(oggetto, obbligatorio quando host è ai.endpoint) Fornisce una configurazione aggiuntiva per la distribuzione degli endpoint online di Intelligenza artificiale di Azure.

Proprietà Obbligatorio TIPO Description
workspace N corda Nome dell'area di lavoro del progetto di AI Studio. Se omesso, azd usa il valore specificato nella AZUREAI_PROJECT_NAME variabile di ambiente. Supporta la sostituzione delle variabili di ambiente.
flow N oggetto Configurazione del flusso di richiesta di Azure AI Studio. Se omesso, non viene creato un flusso di richiesta. Vedere Configurazione dei componenti di intelligenza artificiale.
environment N oggetto Configurazione dell'ambiente personalizzato di Azure AI Studio. Se omesso, non viene creato un ambiente personalizzato. Vedere Configurazione dei componenti di intelligenza artificiale.
model N oggetto Configurazione del modello di Azure AI Studio. Se omesso, non viene creato un modello. Vedere Configurazione dei componenti di intelligenza artificiale.
deployment oggetto Configurazione della distribuzione degli endpoint online di Azure AI Studio. Viene creata una nuova distribuzione di endpoint online e il traffico viene spostato automaticamente alla nuova distribuzione al termine dell'operazione. Vedere Configurazione della distribuzione di intelligenza artificiale.

Note

Quando host è ai.endpoint, sono necessari sia project che config . Vedere ai.endpoint config per le proprietà di configurazione necessarie.

Configurazione del componente di intelligenza artificiale
Proprietà Obbligatorio TIPO Description
name N corda Nome del componente di intelligenza artificiale. Se omesso, azd genera un nome in base al tipo di componente e al nome del servizio. Supporta la sostituzione delle variabili di ambiente.
path corda Percorso del file di configurazione del componente di intelligenza artificiale o del codice sorgente.
overrides N oggetto Mappa di coppie chiave-valore usate per eseguire l'override della configurazione del componente di intelligenza artificiale. Supporta la sostituzione delle variabili di ambiente.
Configurazione della distribuzione di intelligenza artificiale

Eredita tutte le proprietà dalla configurazione del componente di intelligenza artificiale, oltre a:

Proprietà Obbligatorio TIPO Description
environment N oggetto Mappa di coppie chiave/valore da impostare come variabili di ambiente per la distribuzione. I valori supportano la sostituzione delle variabili di ambiente e azd del sistema operativo.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(oggetto) Configurazione di Docker per un servizio. Applicabile solo per gli host che supportano contenitori (containerapp, aks, ai.endpoint, azure.ai.agent).

Proprietà Obbligatorio TIPO Description
path N corda Percorso del Dockerfile, relativo al servizio. Impostazione predefinita: ./Dockerfile.
context N corda Contesto di compilazione docker. Se specificato, esegue l'override del contesto predefinito. Impostazione predefinita: ..
platform N corda Destinazione della piattaforma. Impostazione predefinita: amd64.
registry N corda Registro contenitori in cui eseguire il push dell'immagine. Se omesso, per impostazione predefinita viene usato il valore della variabile di AZURE_CONTAINER_REGISTRY_ENDPOINT ambiente. Supporta la sostituzione delle variabili di ambiente.
image N corda Nome applicato all'immagine del contenitore compilata. Se omesso, il valore predefinito è {appName}/{serviceName}-{environmentName}. Supporta la sostituzione delle variabili di ambiente.
tag N corda Tag applicato all'immagine del contenitore compilata. Se omesso, il valore predefinito è azd-deploy-{unix time (seconds)}. Supporta la sostituzione delle variabili di ambiente.
buildArgs N matrice di stringhe Compilare argomenti da passare al comando di compilazione docker.
network N corda Modalità di rete per le istruzioni RUN durante la compilazione docker. Passato come --network per la compilazione docker. Ad esempio, usare host per consentire al contenitore di compilazione di accedere alla rete host.
remoteBuild N booleano Indica se compilare l'immagine in modalità remota. Se impostato su true, l'immagine viene compilata in remoto usando la funzionalità di compilazione remota di Registro Azure Container. Se la compilazione remota non riesce, azd esegue automaticamente il fallback alla compilazione in locale usando Docker o Podman, se disponibile.

k8s

(oggetto) Opzioni di configurazione del servizio Azure Kubernetes. Valido solo quando host è aks.

Proprietà Obbligatorio TIPO Description
deploymentPath N corda Percorso relativo dal percorso del servizio ai manifesti della distribuzione k8s. Impostazione predefinita: manifests.
namespace N corda Spazio dei nomi k8s delle risorse distribuite. Se specificato, viene creato un nuovo spazio dei nomi k8s se non esiste già. Valore predefinito: nome del progetto.
deployment N oggetto Configurazione della distribuzione k8s. Vedere Configurazione della distribuzione.
service N oggetto Configurazione del servizio k8s. Vedere Configurazione del servizio.
ingress N oggetto Configurazione di ingresso k8s. Vedere Configurazione in ingresso.
helm N oggetto Configurazione helm. Vedere Configurazione Helm.
kustomize N oggetto Configurazione kustomize. Vedere Configurazione di Kustomize.
Configurazione della distribuzione
Proprietà Obbligatorio TIPO Description
name N corda Nome della risorsa di distribuzione k8s da usare durante la distribuzione. Se non impostato, cerca una risorsa di distribuzione nello stesso spazio dei nomi contenente il nome del servizio. Impostazione predefinita: nome del servizio.
Configurazione del servizio
Proprietà Obbligatorio TIPO Description
name N corda Nome della risorsa del servizio k8s da usare come endpoint di servizio predefinito. Se non è impostato, cerca una risorsa del servizio nello stesso spazio dei nomi che contiene il nome del servizio. Impostazione predefinita: nome del servizio.
Configurazione in ingresso
Proprietà Obbligatorio TIPO Description
name N corda Nome della risorsa di ingresso k8s da usare come endpoint di servizio predefinito. Se non impostato, cerca una risorsa in ingresso nello stesso spazio dei nomi che contiene il nome del servizio. Impostazione predefinita: nome del servizio.
relativePath N corda Percorso relativo del servizio dalla radice del controller di ingresso. Quando impostato, viene aggiunto alla radice del percorso della risorsa in ingresso.
Configurazione Helm
Proprietà Obbligatorio TIPO Description
repositories N elenco Repository helm da aggiungere.
releases N elenco Rilasci helm da installare.

repositories elementi della matrice:

Proprietà Obbligatorio TIPO Description
name corda Nome del repository Helm.
url corda URL del repository Helm.

releases elementi della matrice:

Proprietà Obbligatorio TIPO Description
name corda Nome della versione helm.
chart corda Nome del grafico helm.
version N corda Versione del grafico helm.
namespace N corda Spazio dei nomi k8s per installare il grafico Helm. Il valore predefinito è lo spazio dei nomi del servizio.
values N corda Percorso relativo dal servizio a un values.yaml oggetto da passare al grafico helm.
Configurazione kustomize
Proprietà Obbligatorio TIPO Description
dir N corda Percorso relativo della directory kustomize. Supporta la sostituzione delle variabili di ambiente.
edits N matrice di stringhe Le modifiche kustomize da applicare prima della distribuzione. Supporta la sostituzione delle variabili di ambiente.
env N oggetto Coppie chiave/valore di ambiente usate per generare un .env file nella directory kustomize. I valori supportano la sostituzione delle variabili di ambiente.

Ganci di servizio

Gli hook a livello di servizio sono eseguiti durante gli eventi del ciclo di vita del servizio. Gli hook devono corrispondere ai nomi degli eventi del servizio preceduti da pre o post. Quando si specificano percorsi, devono essere relativi al percorso del servizio. Per altri dettagli, vedere Personalizzare i flussi di lavoro dell'interfaccia della riga di comando per sviluppatori di Azure usando hook di comandi ed eventi .

Hook del servizio supportati: prerestore, postrestore, prebuildpostbuild, , prepackagepostpackage, predeployprepublishpostpublish, . postdeploy

Ogni hook usa il formato di definizione hook .

Esempi di servizio

App contenitore con opzioni 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
App contenitore da un'immagine predefinita
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
Servizio Azure Kubernetes con hook a livello di servizio
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

(oggetto) Definizione delle risorse di Azure usate dall'applicazione. Ogni chiave è un nome di risorsa e il valore è un oggetto di configurazione della risorsa. È possibile fare riferimento alle risorse tramite i servizi tramite la uses proprietà .

Proprietà comuni delle risorse

Proprietà Obbligatorio TIPO Description
type corda Il tipo di risorsa. Vedere Tipi di risorse.
uses N elenco Altre risorse da cui dipende questa risorsa.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

Tip

Vedere Esempio di risorse per un esempio YAML completo che combina più tipi di risorse.

Tipi di risorse

La type proprietà determina il tipo di risorsa di Azure e controlla quali proprietà aggiuntive sono disponibili.

Valore del tipo Description Proprietà aggiuntive
host.appservice App Web del Servizio App di Azure Vedere host.appservice le proprietà.
host.containerapp App contenitore basata su Docker Vedere host.containerapp le proprietà.
ai.openai.model Un modello di intelligenza artificiale distribuito e pronto per l'uso Vedere ai.openai.model le proprietà.
ai.project Un progetto Microsoft Foundry con modelli Vedere ai.project le proprietà.
ai.search Ricerca di intelligenza artificiale di Azure Vedere ai.search le proprietà.
db.postgres Database di Azure per PostgreSQL Nessuna proprietà aggiuntiva.
db.mysql Database di Azure per MySQL Nessuna proprietà aggiuntiva.
db.redis Cache di Azure per Redis Nessuna proprietà aggiuntiva.
db.mongo Azure Cosmos DB compatibile con MongoDB Nessuna proprietà aggiuntiva.
db.cosmos Azure Cosmos DB per il NoSQL Vedere db.cosmos le proprietà.
messaging.eventhubs Namespace di Azure Event Hubs Vedere messaging.eventhubs le proprietà.
messaging.servicebus spazio dei nomi di Azure Service Bus Vedere messaging.servicebus le proprietà.
storage Account di archiviazione di Azure Vedere storage le proprietà.
keyvault Azure Key Vault Vedere keyvault le proprietà.

host.appservice proprietà

Proprietà Obbligatorio TIPO Description
port N numero intero Porta su cui è in ascolto l'app Web. Impostazione predefinita: 80.
runtime oggetto Configurazione del runtime del linguaggio. Vedere di seguito.
env N elenco variabili di ambiente. Ogni elemento ha name proprietà (obbligatorie), valuee secret . Supporta la sostituzione delle variabili di ambiente.
startupCommand N corda Comando di avvio eseguito come parte dell'avvio dell'app Web.
uses N matrice di stringhe Altre risorse usate da questa risorsa.

runtime Oggetto:

Proprietà Obbligatorio TIPO Description
stack corda Stack di runtime del linguaggio. Valori consentiti: node, python.
version corda Versione del runtime del linguaggio. Il formato varia in base a stack(ad esempio, 22-lts per Node, 3.13 per Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp proprietà

Proprietà Obbligatorio TIPO Description
port N numero intero Porta su cui l'app contenitore è in ascolto. Impostazione predefinita: 80.
env N elenco variabili di ambiente. Ogni elemento ha name proprietà (obbligatorie), valuee secret . Supporta la sostituzione delle variabili di ambiente.
uses N matrice di stringhe Altre risorse usate da questa risorsa.

ai.openai.model proprietà

Proprietà Obbligatorio TIPO Description
model Condizionale oggetto Modello di intelligenza artificiale sottostante. Obbligatorio quando existing è false.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

model Oggetto:

Proprietà Obbligatorio TIPO Description
name corda Nome del modello di intelligenza artificiale.
version corda Versione del modello di intelligenza artificiale.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

ai.project proprietà

Proprietà Obbligatorio TIPO Description
models N elenco I modelli di intelligenza artificiale da distribuire come parte del progetto di intelligenza artificiale.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

models elementi della matrice:

Proprietà Obbligatorio TIPO Description
name corda Nome del modello di intelligenza artificiale.
version corda Versione del modello di intelligenza artificiale.
format corda Formato del modello di intelligenza artificiale , ad esempio Microsoft, OpenAI.
sku oggetto Configurazione dello SKU per il modello di intelligenza artificiale.

sku Oggetto:

Proprietà Obbligatorio TIPO Description
name corda Nome dello SKU , ad esempio GlobalStandard.
usageName corda Nome di utilizzo dello SKU a scopo di fatturazione (ad esempio, OpenAI.GlobalStandard.gpt-4o-mini).
capacity numero intero Capacità dello SKU.

ai.search proprietà

Proprietà Obbligatorio TIPO Description
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

db.cosmos proprietà

Proprietà Obbligatorio TIPO Description
containers N elenco Contenitori per archiviare i dati. Ogni contenitore archivia una raccolta di elementi.

containers elementi della matrice:

Proprietà Obbligatorio TIPO Description
name corda Nome del contenitore.
partitionKeys elenco Chiavi di partizione usate per distribuire i dati tra partizioni. Massimo 3 tasti. Impostazione predefinita: /id.

messaging.eventhubs proprietà

Proprietà Obbligatorio TIPO Description
hubs N matrice di stringhe Nomi di hub da creare nello spazio dei nomi di Hub eventi.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

messaging.servicebus proprietà

Proprietà Obbligatorio TIPO Description
queues N matrice di stringhe Nomi di coda da creare nello spazio dei nomi del bus di servizio.
topics N matrice di stringhe Nomi di argomenti da creare nello spazio dei nomi del bus di servizio.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

storage proprietà

Proprietà Obbligatorio TIPO Description
containers N matrice di stringhe Nomi dei contenitori dell'account di archiviazione di Azure.
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

keyvault proprietà

Proprietà Obbligatorio TIPO Description
existing N booleano Se impostato su true, questa risorsa non viene creata e viene invece usata a scopo di riferimento. Impostazione predefinita: false.

Esempio di risorse

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

(oggetto) Definizione della pipeline di integrazione continua.

Proprietà Obbligatorio TIPO Description
provider N corda Provider di pipeline da usare per l'integrazione continua. Impostazione predefinita: github. Valori consentiti: github, azdo.
variables N matrice di stringhe Elenco delle variabili di azd ambiente da usare nella pipeline come variabili.
secrets N matrice di stringhe Elenco delle variabili di azd ambiente da usare nella pipeline come segreti.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(oggetto) Hook a livello di comando. Gli hook devono corrispondere azd ai nomi dei comandi preceduti pre da o post a seconda del momento in cui deve essere eseguito lo script. Quando si specificano percorsi, devono essere relativi al percorso del progetto. Per altri dettagli, vedere Personalizzare i flussi di lavoro dell'interfaccia della riga di comando per sviluppatori di Azure usando hook di comandi ed eventi .

Hook dei comandi supportati: preprovision, postprovisionpreinfracreate, postinfracreate, preinfradelete, , postinfradeletepostdownpreuppostuppostpublishpostpackageprepackagepredownpredeploypostdeployprepublish, , . postrestoreprerestore

Ogni hook usa il formato di definizione hook .

Tip

Vedi Esempi di hook per esempi YAML completi, inclusi hook specifici della piattaforma, executor tipizzato e più hook per evento.

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

Definizione hook

Un hook può essere un singolo oggetto hook o una matrice di oggetti hook. Ogni oggetto hook ha le proprietà seguenti:

Proprietà Obbligatorio TIPO Description
run Condizionale corda Script inline o percorso relativo dello script. Obbligatorio quando si shellspecifica , kind, dirinteractive, continueOnError, , secretso config. Quando si specifica uno script inline, è necessario specificare anche l'oggetto shell da usare. La shell viene dedotta automaticamente quando si usano percorsi di file.
shell N corda Tipo di shell per l'esecuzione di script. Impostazione predefinita: sh. Valori consentiti: sh, pwsh.
kind N corda Tipo di executor per lo script hook. Se omesso, il tipo viene rilevato automaticamente dall'estensione del file del run percorso ( ad esempio, .py diventa python, .ps1 diventa pwsh). Valori consentiti: sh, pwsh, js, ts, python, dotnet.
dir N corda Directory di lavoro per l'esecuzione di hook. Usato come radice del progetto per l'installazione delle dipendenze e come directory di lavoro durante l'esecuzione dello script. I percorsi relativi vengono risolti dalla radice del progetto o del servizio. Se omesso, il valore predefinito è la directory contenente il file di script.
continueOnError N booleano Indica se un errore di script interrompe il azd comando. Impostazione predefinita: false.
interactive N booleano Indica se lo script viene eseguito in modalità interattiva, l'associazione a stdin, stdoute stderr della console in esecuzione. Impostazione predefinita: false.
windows N oggetto Se specificato, esegue l'override della configurazione hook quando viene eseguita in ambienti Windows. Usa lo stesso formato dell'oggetto hook.
posix N oggetto Se specificato, esegue l'override della configurazione hook quando viene eseguita in ambienti POSIX (Linux e macOS). Usa lo stesso formato dell'oggetto hook.
secrets N oggetto Mappa delle variabili di azd ambiente per associare i segreti. Se una variabile è stata impostata come segreto nell'ambiente, il valore del segreto viene passato all'hook.
config N oggetto Configurazione specifica dell'executor. Le proprietà disponibili dipendono dal kind valore. Vedere Configurazione dell'executor hook.

Note

Quando si specificano e windowsposix , le runproprietà , kindshell, dir, interactivecontinueOnError, secretse config non possono essere usate al livello superiore. Usare invece gli oggetti specifici della piattaforma.

Configurazione dell'executor hook

La config proprietà accetta proprietà diverse a seconda del kind valore.

Configurazione di JavaScript e TypeScript (js, ts)

Proprietà Obbligatorio TIPO Description
packageManager N corda Gestione pacchetti da usare per l'installazione delle dipendenze. Esegue l'override del rilevamento automatico dai file di blocco. Valori consentiti: npm, pnpm, yarn.

Configurazione di Python

Proprietà Obbligatorio TIPO Description
virtualEnvName N corda Nome della directory per l'ambiente virtuale Python. Per impostazione predefinita, il rilevamento automatico (.venv, venv) o {baseName}_env.

Configurazione di .NET (dotnet)

Proprietà Obbligatorio TIPO Description
configuration N corda Configurazione di MSBuild per la compilazione dello script hook , ad esempio Debug, Release.
framework N corda Moniker del framework di destinazione per la compilazione e l'esecuzione dello script hook ( ad esempio net8.0, ). net10.0

Configurazione della shell (sh, pwsh)

Gli executor della shell non supportano config attualmente le proprietà.

Esempi di hook

Hook specifici della piattaforma

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

Hook Python con tipo

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

Più hook per un singolo evento

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

requiredVersions

(oggetto) Fornisce una configurazione aggiuntiva per le versioni richieste di azd e le estensioni.

Proprietà Obbligatorio TIPO Description
azd N corda Gamma di versioni supportate di azd per questo progetto. Se la versione di azd non è compresa in questo intervallo, il progetto non viene caricato. Supporta la sintassi dell'intervallo semver.
extensions N oggetto Mappa delle estensioni e dei vincoli di versione necessari per questo progetto. Supporta i vincoli semver. Se la versione viene omessa, viene installata la versione più recente.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(oggetto) Fornisce una configurazione aggiuntiva per la gestione dello stato.

Proprietà Obbligatorio TIPO Description
remote N oggetto Fornisce una configurazione aggiuntiva per la gestione remota dello stato. Vedete state.remote.

state.remote

Proprietà Obbligatorio TIPO Description
backend corda Tipo back-end dello stato remoto. Impostazione predefinita: AzureBlobStorage. Valori consentiti: AzureBlobStorage.
config Condizionale oggetto Configurazione specifica del back-end. Obbligatorio quando backend è AzureBlobStorage. Vedere Configurazione di Archiviazione BLOB di Azure.

Configurazione di Archiviazione BLOB di Azure

Proprietà Obbligatorio TIPO Description
accountName corda Il nome dell'account Azure Storage.
containerName N corda Nome del contenitore di Archiviazione di Azure. L'impostazione predefinita è il nome del progetto, se non specificato.
endpoint N corda Endpoint di Archiviazione di Azure. Impostazione predefinita: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(oggetto) Fornisce una configurazione aggiuntiva per funzionalità specifiche della piattaforma, ad esempio Azure Dev Center.

Proprietà Obbligatorio TIPO Description
type corda Tipo di piattaforma. Valori consentiti: devcenter.
config N oggetto Configurazione specifica della piattaforma. Vedere Configurazione di Dev Center.

Configurazione di Dev Center

Disponibile quando type è devcenter:

Proprietà Obbligatorio TIPO Description
name N corda Nome di Azure Dev Center. Usato come dev center predefinito per questo progetto.
project N corda Nome del progetto di Azure Dev Center.
catalog N corda Nome del catalogo di Azure Dev Center.
environmentDefinition N corda Nome della definizione dell'ambiente del catalogo di Dev Center.
environmentType N corda Tipo di ambiente del progetto Dev Center usato per l'ambiente di distribuzione.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(oggetto) Fornisce una configurazione aggiuntiva per i flussi di lavoro, ad esempio il comportamento di override azd up .

Proprietà Obbligatorio TIPO Description
up N oggetto o matrice Se specificato, esegue l'override del comportamento predefinito per il azd up flusso di lavoro.

Passaggi del flusso di lavoro

Il up flusso di lavoro accetta una steps matrice (o può essere specificata direttamente come matrice). Ogni passaggio esegue un azd comando.

Proprietà Obbligatorio TIPO Description
azd stringa o oggetto Comando azd da eseguire. Può essere una stringa (ad esempio, provision) o un oggetto con una args matrice.

Configurare l'ordine dei passaggi del flusso di lavoro

Il file seguente azure.yaml modifica il comportamento predefinito di azd up per spostare il azd package passaggio dopo il azd provision passaggio. Usare questo approccio negli scenari in cui è necessario conoscere gli URL delle risorse durante il processo di compilazione o creazione di pacchetti.

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

cloud

(oggetto) Fornisce una configurazione aggiuntiva per la distribuzione in cloud sovrani, ad esempio Azure per enti pubblici. Il cloud predefinito è AzureCloud.

Proprietà Obbligatorio TIPO Description
name N corda Nome dell'ambiente cloud. Valori consentiti: AzureCloud, AzureChinaCloud, AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Richiedere assistenza

Per informazioni su come inviare un bug, richiedere assistenza o proporre una nuova funzionalità per l'interfaccia della riga di comando per sviluppatori di Azure, visitare la pagina relativa alla risoluzione dei problemi e al supporto tecnico.

Passaggi successivi