Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |
Sì | 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 |
Sì | corda | Nome del livello di provisioning. |
path |
Sì | 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 |
Sì | 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 | Sì | N | N | N | N | N |
containerapp |
App contenitore di Azure |
project o image (non entrambi) |
Sì | Sì | N | Sì | Sì |
function |
Azure Functions | Sì | N | N | N | N | N |
staticwebapp |
App Web statiche di Azure | Sì | N | N | N | N | N |
springapp |
App Spring di Azure | Sì | N | N | N | N | N |
aks |
Servizio Azure Kubernetes | N | N | Sì | Sì | N | N |
ai.endpoint |
Endpoint online di Intelligenza artificiale di Azure | Sì | N | Sì | N | N | N |
azure.ai.agent |
Agente di intelligenza artificiale di Azure | Sì | N | Sì | 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 |
Sì | 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 |
Sì | 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 |
Sì | corda | Nome del repository Helm. |
url |
Sì | corda | URL del repository Helm. |
releases elementi della matrice:
| Proprietà | Obbligatorio | TIPO | Description |
|---|---|---|---|
name |
Sì | corda | Nome della versione helm. |
chart |
Sì | 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 |
Sì | 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 |
Sì | 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 |
Sì | corda | Stack di runtime del linguaggio. Valori consentiti: node, python. |
version |
Sì | 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 |
Sì | corda | Nome del modello di intelligenza artificiale. |
version |
Sì | 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 |
Sì | corda | Nome del modello di intelligenza artificiale. |
version |
Sì | corda | Versione del modello di intelligenza artificiale. |
format |
Sì | corda | Formato del modello di intelligenza artificiale , ad esempio Microsoft, OpenAI. |
sku |
Sì | oggetto | Configurazione dello SKU per il modello di intelligenza artificiale. |
sku Oggetto:
| Proprietà | Obbligatorio | TIPO | Description |
|---|---|---|---|
name |
Sì | corda | Nome dello SKU , ad esempio GlobalStandard. |
usageName |
Sì | corda | Nome di utilizzo dello SKU a scopo di fatturazione (ad esempio, OpenAI.GlobalStandard.gpt-4o-mini). |
capacity |
Sì | 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 |
Sì | corda | Nome del contenitore. |
partitionKeys |
Sì | 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 |
Sì | 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 |
Sì | 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 |
Sì | 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 |
Sì | 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.