Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le azure.yaml fichier est le fichier de configuration pour les projets Azure Developer CLI (azd). Placez-le à la racine de votre projet pour définir les services, les ressources Azure, l’infrastructure, les hooks et le pipeline CI/CD qui composent votre application. Lorsque vous exécutez des commandes telles que azd up, azd provisionou azd deploy, l’interface CLI lit ce fichier pour comprendre la structure de votre application et comment la déployer sur Azure.
Cet article est une référence complète pour le schéma azure.yaml. Pour bien démarrer avec azd les modèles, consultez la vue d’ensemble des modèles CLI pour développeurs Azure.
Échantillon
Voici un exemple générique de azure.yaml fichier pour un azd modèle. Pour obtenir un exemple réel, consultez le azure.yamlmodèle Mongo ToDo NodeJs :
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
Propriétés de niveau supérieur
| Nom de l’élément | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom de l'application. Seules les lettres minuscules, les chiffres et les traits d’union (-) sont autorisés. Le nom doit commencer et se terminer par une lettre ou un chiffre. |
resourceGroup |
N | corde | Nom du groupe de ressources Azure. Lorsqu’il est spécifié, remplace le nom du groupe de ressources utilisé pour l’approvisionnement d’infrastructure. Prend en charge la substitution de variable d’environnement. |
metadata |
N | objet | Métadonnées relatives au modèle d’application. |
infra |
N | objet | Fournit une configuration supplémentaire pour l’approvisionnement d’infrastructure Azure. |
services |
N | objet | Définition des services qui composent l’application. |
resources |
N | objet | Définition des ressources Azure utilisées par l’application. |
pipeline |
N | objet | Définition du pipeline d’intégration continue. |
hooks |
N | objet | Crochets au niveau de la commande pour azd les commandes. |
requiredVersions |
N | objet | Fournit une configuration supplémentaire pour les versions azd et extensions requises. |
state |
N | objet | Fournit une configuration supplémentaire pour la gestion de l’état. |
platform |
N | objet | Fournit une configuration supplémentaire pour les fonctionnalités spécifiques à la plateforme, telles que le Centre de développement Azure. |
workflows |
N | objet | Fournit une configuration supplémentaire pour les flux de travail tels que le comportement de azd up substitution. |
cloud |
N | objet | Fournit une configuration supplémentaire pour le déploiement sur des clouds souverains. Le cloud par défaut est AzureCloud. |
name
(chaîne, obligatoire) Nom de l’application. Seules les lettres minuscules, les chiffres et les traits d’union (-) sont autorisés. Le nom doit commencer et se terminer par une lettre ou un chiffre. Longueur minimale : 2 caractères.
name: my-app
resourceGroup
(chaîne) Nom du groupe de ressources Azure. Lorsqu’il est spécifié, remplace le nom du groupe de ressources utilisé pour l’approvisionnement d’infrastructure. Prend en charge la substitution de variable d’environnement. Doit être compris entre 3 et 64 caractères.
resourceGroup: rg-my-app-${AZURE_ENV_NAME}
metadata
(objet) Métadonnées relatives au modèle d’application.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
template |
N | corde | Identificateur du modèle à partir duquel l’application a été créée. |
metadata:
template: todo-nodejs-mongo@0.0.1-beta
infra
(objet) Fournit une configuration supplémentaire pour l’approvisionnement d’infrastructure Azure.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
provider |
N | corde | Fournisseur d’approvisionnement d’infrastructure utilisé pour approvisionner les ressources Azure pour l’application. Par défaut : bicep. Valeurs autorisées : bicep, terraform. |
path |
N | corde | Chemin d’accès relatif du dossier aux modèles d’approvisionnement Azure pour le fournisseur spécifié. Par défaut : infra. |
module |
N | corde | Nom du module par défaut dans les modèles d’approvisionnement Azure. Par défaut : main. |
layers |
N | tableau | Couches pour l’approvisionnement d’infrastructure Azure. Voir infra.layers. |
Note
Quand layers elle est spécifiée avec au moins un élément, les path propriétés ne module peuvent pas être utilisées. Utilisez plutôt des valeurs spécifiques path à module la couche.
infra.layers
(tableau d’objets) Définit des couches d’approvisionnement pour l’infrastructure Azure. Chaque couche représente une unité indépendante d’approvisionnement.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom de la couche d’approvisionnement. |
path |
Y | corde | Chemin d’accès relatif du dossier aux modèles d’approvisionnement Azure pour le fournisseur spécifié. |
module |
N | corde | Nom du module d’approvisionnement Azure utilisé lors de l’approvisionnement de ressources. Par défaut : main. |
hooks |
N | objet | Crochets de couche d’approvisionnement. Prend en charge preprovision et postprovision crochets. Lorsque vous spécifiez des chemins d’accès, ils doivent être relatifs au chemin de couche. Voir définition 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 en tant qu’exemple de fournisseur IaC
Pour utiliser Terraform au lieu de Bicep, définissez la valeur providerterraform. Pour plus d’informations, consultez Utiliser Terraform comme fournisseur 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
(objet) Définition des services qui composent l’application. Chaque clé est un nom de service et la valeur est un objet de configuration de service.
Propriétés du service
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
host |
Y | corde | Type de ressource Azure utilisée pour l’implémentation de service. Consultez types d’hôtes. |
project |
Conditional | corde | Chemin d’accès au répertoire de code source du service. Obligatoire pour la plupart des types d’hôtes. |
image |
Conditional | corde | Image source à utiliser pour l’image conteneur au lieu de générer à partir de la source. Prend en charge la substitution de variable d’environnement. Valide uniquement pour l’hôte containerapp . |
language |
N | corde | Langage d’implémentation de service. Valeurs autorisées : dotnet, csharp, fsharp, py, python, js, ts, java, . docker |
module |
N | corde | Chemin du module d’infrastructure utilisé pour déployer le service par rapport au dossier infra racine. Si elle est omise, l’interface CLI suppose que le nom du module est identique au nom du service. |
dist |
N | corde | Chemin relatif des artefacts de déploiement de service. |
resourceName |
N | corde | Nom de la ressource Azure qui implémente le service. Par défaut, l’interface CLI découvre la ressource Azure avec une balise azd-service-name définie sur le nom du service actuel. Prend en charge la substitution de variable d’environnement. |
resourceGroup |
N | corde | Nom du groupe de ressources Azure qui contient la ressource. Quand elle est spécifiée, l’interface CLI recherche la ressource Azure dans le groupe de ressources spécifié. Prend en charge la substitution de variable d’environnement. |
remoteBuild |
N | booléen | Indique s’il faut utiliser la build distante pour le déploiement d’applications de fonction. Valide uniquement quand host est function. Lorsque la valeur est définie true, le package de déploiement est généré à distance à l’aide d’Oryx. Valeur par défaut pour les true applications de fonction JavaScript, TypeScript et Python. |
docker |
N | objet | Configuration de Docker. Applicable uniquement aux hôtes basés sur un conteneur. Voir docker. |
k8s |
N | objet | Options de configuration AKS. Valide uniquement quand host est aks. Voir k8s. |
config |
N | objet | Options de configuration supplémentaires pour le service. |
uses |
N | tableau | Liste des noms de service et des noms de ressources dont dépend ce service. |
env |
N | objet | Mappage des noms de variables d’environnement aux valeurs. Prend en charge la substitution de variable d’environnement. |
apiVersion |
N | corde | Version de l’API du fournisseur de ressources pour les déploiements. Valide uniquement quand host est containerapp. |
hooks |
N | objet | Crochets de niveau de service. Consultez les hooks de service. |
Conseil / Astuce
Consultez les exemples de service pour obtenir des exemples YAML complets de différentes configurations de service.
Types d’hôtes
La host propriété détermine le type de ressource Azure utilisé pour l’implémentation de service et les contrôles qui sont valides.
| Valeur de l’hôte | Description | Exige project |
Soutient image |
Soutient docker |
Soutient k8s |
Soutient env |
Soutient apiVersion |
|---|---|---|---|---|---|---|---|
appservice |
Azure App Service | Y | N | N | N | N | N |
containerapp |
Azure Container Apps (Applications de Conteneur Azure) |
project ou image (pas les deux) |
Y | Y | N | Y | Y |
function |
Azure Functions | Y | N | N | N | N | N |
staticwebapp |
Azure Static Web Apps (Applications Web statiques 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 |
Point de terminaison en ligne Azure AI | Y | N | Y | N | N | N |
azure.ai.agent |
Agent d'IA Azure | Y | N | Y | N | N | N |
Note
springapp la prise en charge nécessite l’inscription aux fonctionnalités alpha. Pour plus d’informations, consultez fonctionnalités Alpha.
Note
Quand host c’est containerapp, vous devez fournir l’un ou l’autre image , projectmais pas les deux. Si image elle est définie, le conteneur est déployé à partir de l’image spécifiée. Si project elle est définie, l’image conteneur est générée à partir de la source.
ai.endpoint Config
(objet, obligatoire quand host c’est ai.endpoint) Fournit une configuration supplémentaire pour le déploiement de points de terminaison en ligne Azure AI.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
workspace |
N | corde | Nom de l’espace de travail du projet AI Studio. En cas d’omission, azd utilise la valeur spécifiée dans la variable d’environnement AZUREAI_PROJECT_NAME . Prend en charge la substitution de variable d’environnement. |
flow |
N | objet | Configuration du flux d’invite Azure AI Studio. En cas d’omission, un flux d’invite n’est pas créé. Consultez la configuration du composant IA. |
environment |
N | objet | Configuration de l’environnement personnalisé Azure AI Studio. En cas d’omission, un environnement personnalisé n’est pas créé. Consultez la configuration du composant IA. |
model |
N | objet | Configuration du modèle Azure AI Studio. En cas d’omission, un modèle n’est pas créé. Consultez la configuration du composant IA. |
deployment |
Y | objet | Configuration du déploiement de point de terminaison en ligne Azure AI Studio. Un nouveau déploiement de point de terminaison en ligne est créé et le trafic est automatiquement déplacé vers le nouveau déploiement à la fin. Consultez la configuration du déploiement d’IA. |
Note
Quand host c’est ai.endpoint, les deux project et config sont requis. Consultez ai.endpoint la configuration des propriétés de configuration requises.
Configuration des composants IA
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom du composant IA. En cas d’omission, azd génère un nom en fonction du type de composant et du nom du service. Prend en charge la substitution de variable d’environnement. |
path |
Y | corde | Chemin d’accès au fichier de configuration du composant IA ou au code source. |
overrides |
N | objet | Carte des paires clé-valeur utilisées pour remplacer la configuration du composant IA. Prend en charge la substitution de variable d’environnement. |
Configuration du déploiement d’IA
Hérite de toutes les propriétés de la configuration du composant IA, ainsi que :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
environment |
N | objet | Carte des paires clé/valeur à définir en tant que variables d’environnement pour le déploiement. Les valeurs prennent en charge la substitution de variables de système d’exploitation et azd d’environnement. |
services:
myendpoint:
project: ./src/endpoint
host: ai.endpoint
config:
workspace: my-ai-project
deployment:
path: ./deployment
environment:
MODEL_NAME: ${AZURE_OPENAI_MODEL}
docker
(objet) Configuration Docker pour un service. Applicable uniquement aux hôtes qui prennent en charge les conteneurs (containerapp, aks, ai.endpoint, azure.ai.agent).
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
path |
N | corde | Chemin d’accès au fichier Dockerfile, par rapport à votre service. Par défaut : ./Dockerfile. |
context |
N | corde | Contexte de build Docker. Quand elle est spécifiée, remplace le contexte par défaut. Par défaut : .. |
platform |
N | corde | Cible de la plateforme. Par défaut : amd64. |
registry |
N | corde | Registre de conteneurs vers lequel envoyer (push) l’image. S’il est omis, la valeur par défaut de la variable d’environnement AZURE_CONTAINER_REGISTRY_ENDPOINT . Prend en charge la substitution de variable d’environnement. |
image |
N | corde | Nom appliqué à l’image conteneur générée. S’il est omis, la valeur par défaut est {appName}/{serviceName}-{environmentName}. Prend en charge la substitution de variable d’environnement. |
tag |
N | corde | Balise appliquée à l’image conteneur générée. S’il est omis, la valeur par défaut est azd-deploy-{unix time (seconds)}. Prend en charge la substitution de variable d’environnement. |
buildArgs |
N | tableau de chaînes de caractères | Générer des arguments à passer à la commande docker build. |
network |
N | corde | Mode de mise en réseau pour les instructions RUN pendant la build Docker. Passé en tant que --network build Docker. Par exemple, utilisez host pour autoriser le conteneur de build à accéder au réseau hôte. |
remoteBuild |
N | booléen | Indique s’il faut générer l’image à distance. Si la valeur est définie true, l’image est générée à distance à l’aide de la fonctionnalité de build distante Azure Container Registry. Si la build distante échoue, azd revient automatiquement à générer localement à l’aide de Docker ou Podman, le cas échéant. |
k8s
(objet) Options de configuration d’Azure Kubernetes Service (AKS). Valide uniquement quand host est aks.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
deploymentPath |
N | corde | Chemin relatif du chemin d’accès du service aux manifestes de déploiement k8s. Par défaut : manifests. |
namespace |
N | corde | Espace de noms k8s des ressources déployées. Lorsqu’il est spécifié, un nouvel espace de noms k8s est créé s’il n’existe pas déjà. Valeur par défaut : nom du projet. |
deployment |
N | objet | Configuration du déploiement k8s. Consultez la configuration du déploiement. |
service |
N | objet | Configuration du service k8s. Consultez la configuration du service. |
ingress |
N | objet | Configuration d’entrée k8s. Consultez la configuration d’entrée. |
helm |
N | objet | Configuration helm. Consultez la configuration Helm. |
kustomize |
N | objet | Configuration kustomize. Consultez la configuration Kustomize. |
Configuration du déploiement
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom de la ressource de déploiement k8s à utiliser pendant le déploiement. Si ce n’est pas le cas, recherche une ressource de déploiement dans le même espace de noms qui contient le nom du service. Valeur par défaut : nom du service. |
Configuration du service
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom de la ressource de service k8s à utiliser comme point de terminaison de service par défaut. Si ce n’est pas défini, recherche une ressource de service dans le même espace de noms que celui qui contient le nom du service. Valeur par défaut : nom du service. |
Configuration d’entrée
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom de la ressource d’entrée k8s à utiliser comme point de terminaison de service par défaut. Si ce n’est pas défini, recherche une ressource d’entrée dans le même espace de noms que celui qui contient le nom du service. Valeur par défaut : nom du service. |
relativePath |
N | corde | Chemin d’accès relatif au service à partir de la racine de votre contrôleur d’entrée. Quand elle est définie, elle est ajoutée à la racine de votre chemin de ressource d’entrée. |
Configuration Helm
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
repositories |
N | tableau | Référentiels Helm à ajouter. |
releases |
N | tableau | Les versions helm à installer. |
repositories éléments de tableau :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom du référentiel Helm. |
url |
Y | corde | URL du référentiel Helm. |
releases éléments de tableau :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom de la version helm. |
chart |
Y | corde | Nom du graphique Helm. |
version |
N | corde | Version du graphique Helm. |
namespace |
N | corde | Espace de noms k8s pour installer le graphique Helm. La valeur par défaut est l’espace de noms du service. |
values |
N | corde | Chemin relatif du service à un values.yaml passage au graphique Helm. |
Configuration Kustomize
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
dir |
N | corde | Chemin d’accès relatif au répertoire kustomize. Prend en charge la substitution de variable d’environnement. |
edits |
N | tableau de chaînes de caractères | Les modifications kustomize à appliquer avant le déploiement. Prend en charge la substitution de variable d’environnement. |
env |
N | objet | Paires clé/valeur d’environnement utilisées pour générer un .env fichier dans le répertoire kustomize. Les valeurs prennent en charge la substitution de variable d’environnement. |
Crochets de service
Les hooks de niveau de service s’exécutent pendant les événements de cycle de vie du service. Les hooks doivent correspondre aux noms d’événements de service précédés pre ou post. Lorsque vous spécifiez des chemins d’accès, ils doivent être relatifs au chemin du service. Pour plus d’informations, consultez Personnaliser vos flux de travail Azure Developer CLI à l’aide de commandes et de hooks d’événements.
Crochets de service pris en charge : prerestore, , , prepublishpostrestorepredeploypostpublishpostbuildprebuildprepackagepostpackage. postdeploy
Chaque hook utilise le format de définition de hook .
Exemples de service
Applications conteneur avec les options 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
Container Apps à partir d’une image prédéfinie
services:
api:
image: myregistry.azurecr.io/myapp:latest
host: containerapp
AKS avec des hooks de niveau de service
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
(objet) Définition des ressources Azure utilisées par l’application. Chaque clé est un nom de ressource et la valeur est un objet de configuration de ressource. Les ressources peuvent être référencées par les services via la uses propriété.
Propriétés de ressources courantes
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
type |
Y | corde | Type de ressource. Consultez les types de ressources. |
uses |
N | tableau | D’autres ressources dont dépend cette ressource. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
Conseil / Astuce
Consultez l’exemple Ressources pour obtenir un exemple YAML complet combinant plusieurs types de ressources.
Types de ressource
La type propriété détermine le type de ressource Azure et contrôle les propriétés supplémentaires disponibles.
| Valeur du type | Description | Propriétés supplémentaires |
|---|---|---|
host.appservice |
Application Web Azure App Service | Voir host.appservice les propriétés. |
host.containerapp |
Application conteneur basée sur Docker | Voir host.containerapp les propriétés. |
ai.openai.model |
Un modèle IA déployé et prêt à l’emploi | Voir ai.openai.model les propriétés. |
ai.project |
Un projet Microsoft Foundry avec des modèles | Voir ai.project les propriétés. |
ai.search |
Recherche d’IA Azure | Voir ai.search les propriétés. |
db.postgres |
Base de données Azure pour PostgreSQL | Aucune propriété supplémentaire. |
db.mysql |
Base de données Azure pour MySQL | Aucune propriété supplémentaire. |
db.redis |
Cache Azure pour Redis | Aucune propriété supplémentaire. |
db.mongo |
Azure Cosmos DB pour MongoDB | Aucune propriété supplémentaire. |
db.cosmos |
Azure Cosmos DB pour NoSQL | Voir db.cosmos les propriétés. |
messaging.eventhubs |
Espace de noms Azure Event Hubs | Voir messaging.eventhubs les propriétés. |
messaging.servicebus |
espace de noms Azure Service Bus | Voir messaging.servicebus les propriétés. |
storage |
Compte de stockage Azure | Voir storage les propriétés. |
keyvault |
Azure Key Vault | Voir keyvault les propriétés. |
propriétés host.appservice
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
port |
N | entier | Port sur lequel l’application web écoute. Par défaut : 80. |
runtime |
Y | objet | Configuration du runtime de langage. Voir ci-dessous. |
env |
N | tableau | Variables d'environnement. Chaque élément a name (obligatoire), valueet secret les propriétés. Prend en charge la substitution de variable d’environnement. |
startupCommand |
N | corde | Commande de démarrage qui s’exécute dans le cadre du démarrage de l’application web. |
uses |
N | tableau de chaînes de caractères | Autres ressources utilisées par cette ressource. |
runtime Objet:
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
stack |
Y | corde | Pile du runtime de langage. Valeurs autorisées : node, python. |
version |
Y | corde | Version du runtime de langage. Le format varie selon la pile (par exemple, 22-lts pour Node, 3.13 pour Python). |
resources:
web:
type: host.appservice
port: 8080
runtime:
stack: node
version: 22-lts
uses:
- db
propriétés host.containerapp
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
port |
N | entier | Port sur lequel l’application conteneur écoute. Par défaut : 80. |
env |
N | tableau | Variables d'environnement. Chaque élément a name (obligatoire), valueet secret les propriétés. Prend en charge la substitution de variable d’environnement. |
uses |
N | tableau de chaînes de caractères | Autres ressources utilisées par cette ressource. |
propriétés ai.openai.model
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
model |
Conditional | objet | Modèle IA sous-jacent. Obligatoire quand existing est false. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
model Objet:
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom du modèle IA. |
version |
Y | corde | Version du modèle IA. |
resources:
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
propriétés ai.project
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
models |
N | tableau | Modèles IA à déployer dans le cadre du projet IA. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
models éléments de tableau :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom du modèle IA. |
version |
Y | corde | Version du modèle IA. |
format |
Y | corde | Format du modèle IA (par exemple, Microsoft, OpenAI). |
sku |
Y | objet | Configuration de la référence SKU pour le modèle IA. |
sku Objet:
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | Nom de la référence SKU (par exemple, GlobalStandard). |
usageName |
Y | corde | Nom d’utilisation de la référence SKU à des fins de facturation (par exemple, OpenAI.GlobalStandard.gpt-4o-mini). |
capacity |
Y | entier | Capacité de la référence SKU. |
propriétés ai.search
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
propriétés db.cosmos
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
containers |
N | tableau | Conteneurs pour stocker des données. Chaque conteneur stocke une collection d’éléments. |
containers éléments de tableau :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
Y | corde | nom du conteneur. |
partitionKeys |
Y | tableau | Clé(s) de partition utilisée pour distribuer des données entre des partitions. 3 clés maximales. Par défaut : /id. |
propriétés messaging.eventhubs
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
hubs |
N | tableau de chaînes de caractères | Noms de hubs à créer dans l’espace de noms Event Hubs. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
propriétés messaging.servicebus
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
queues |
N | tableau de chaînes de caractères | Noms de file d’attente à créer dans l’espace de noms Service Bus. |
topics |
N | tableau de chaînes de caractères | Noms de rubriques à créer dans l’espace de noms Service Bus. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
propriétés storage
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
containers |
N | tableau de chaînes de caractères | Noms de conteneur de compte de stockage Azure. |
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
propriétés keyvault
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
existing |
N | booléen | Lorsqu’elle est définie truesur , cette ressource n’est pas créée et est utilisée à des fins de référencement. Par défaut : false. |
Exemple de ressources
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
(objet) Définition du pipeline d’intégration continue.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
provider |
N | corde | Fournisseur de pipeline à utiliser pour l’intégration continue. Par défaut : github. Valeurs autorisées : github, azdo. |
variables |
N | tableau de chaînes de caractères | Liste des variables d’environnement azd à utiliser dans le pipeline en tant que variables. |
secrets |
N | tableau de chaînes de caractères | Liste des variables d’environnement azd à utiliser dans le pipeline en tant que secrets. |
pipeline:
provider: azdo
variables:
- CUSTOM_SETTING
secrets:
- API_KEY
hooks
(objet) Crochets au niveau de la commande. Les hooks doivent correspondre azd noms de commandes précédés de pre ou de post en fonction du moment où le script doit s’exécuter. Lorsque vous spécifiez des chemins d’accès, ils doivent être relatifs au chemin du projet. Pour plus d’informations, consultez Personnaliser vos flux de travail Azure Developer CLI à l’aide de commandes et de hooks d’événements.
Crochets de commande pris en charge : preprovision, , , predownprerestoreprepublishpostrestorepostdeploypredeploypostpublishpostpackageprepackagepostuppreuppostinfradeletepostinfracreatepostdownpostprovisionpreinfracreatepreinfradelete.
Chaque hook utilise le format de définition de hook .
Conseil / Astuce
Consultez les exemples de hooks pour obtenir des exemples YAML complets, notamment des hooks spécifiques à la plateforme, des exécuteurs typés et plusieurs hooks par événement.
hooks:
preprovision:
shell: sh
run: ./scripts/setup.sh
postdeploy:
shell: sh
run: azd env set APP_URL ${SERVICE_WEB_ENDPOINT_URL}
Définition de hook
Un hook peut être un objet de crochet unique ou un tableau d’objets de crochet. Chaque objet hook a les propriétés suivantes :
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
run |
Conditional | corde | Script inline ou chemin relatif de votre script. Obligatoire lors de la shellspécification , , kinddir, interactive, continueOnError, secretsou config. Lors de la spécification d’un script inline, vous devez également spécifier l’utilisation shell . L’interpréteur de commandes est automatiquement déduit lors de l’utilisation des chemins d’accès aux fichiers. |
shell |
N | corde | Type d’interpréteur de commandes pour exécuter des scripts. Par défaut : sh. Valeurs autorisées : sh, pwsh. |
kind |
N | corde | Type d’exécuteur pour le script de hook. En cas d’omission, le type est détecté automatiquement à partir de l’extension de fichier du run chemin d’accès (par exemple, .py devient python, .ps1 devient pwsh). Valeurs autorisées : sh, pwsh, js, ts, python, dotnet. |
dir |
N | corde | Répertoire de travail pour l’exécution du hook. Utilisé comme racine du projet pour l’installation des dépendances et comme répertoire de travail lors de l’exécution du script. Les chemins relatifs sont résolus à partir de la racine du projet ou du service. En cas d’omission, la valeur par défaut est le répertoire contenant le fichier de script. |
continueOnError |
N | booléen | Indique si une erreur de script arrête la azd commande. Par défaut : false. |
interactive |
N | booléen | Indique si le script s’exécute en mode interactif, liaison à stdin, stdoutet stderr de la console en cours d’exécution. Par défaut : false. |
windows |
N | objet | Lorsqu’elle est spécifiée, remplace la configuration du hook lorsqu’elle est exécutée dans des environnements Windows. Utilise le même format d’objet de crochet. |
posix |
N | objet | Lorsqu’elle est spécifiée, remplace la configuration du hook lorsqu’elle est exécutée dans des environnements POSIX (Linux et macOS). Utilise le même format d’objet de crochet. |
secrets |
N | objet | Carte des variables d’environnement azd pour raccorder des secrets. Si une variable a été définie en tant que secret dans l’environnement, la valeur secrète est transmise au hook. |
config |
N | objet | Configuration spécifique à l’exécuteur. Les propriétés disponibles dépendent de la kind valeur. Consultez la configuration de l’exécuteur hook. |
Note
Lorsque les deux windows et sont spécifiés, les runpropriétés , , interactivedirshellkindcontinueOnErrorsecretset config les propriétés ne peuvent pas être utilisées au niveau supérieur.posix Utilisez plutôt les objets spécifiques à la plateforme.
Configuration de l’exécuteur de hook
La config propriété accepte différentes propriétés en fonction de la kind valeur.
Configuration JavaScript et TypeScript (js, ts)
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
packageManager |
N | corde | Gestionnaire de package à utiliser pour l’installation des dépendances. Remplace la détection automatique des fichiers de verrouillage. Valeurs autorisées : npm, pnpm, yarn. |
Configuration Python
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
virtualEnvName |
N | corde | Nom du répertoire de l’environnement virtuel Python. Par défaut, la détection automatique (.venv, venv) ou {baseName}_env. |
Configuration .NET (dotnet)
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
configuration |
N | corde | Configuration MSBuild pour la génération du script de hook (par exemple, Debug, Release). |
framework |
N | corde | Moniker de framework cible pour la génération et l’exécution du script de hook (par exemple, net8.0, net10.0). |
Shell (sh, pwsh) config
Les exécuteurs shell ne prennent actuellement pas en charge config les propriétés.
Exemples de crochets
Crochets spécifiques à la plateforme
hooks:
preprovision:
windows:
shell: pwsh
run: ./scripts/setup.ps1
posix:
shell: sh
run: ./scripts/setup.sh
Crochet Python avec un type
hooks:
postprovision:
kind: python
run: ./scripts/seed-data.py
dir: ./scripts
config:
virtualEnvName: .venv
Crochets multiples pour un seul événement
hooks:
postprovision:
- shell: sh
run: ./scripts/step1.sh
- shell: sh
run: ./scripts/step2.sh
requiredVersions
(objet) Fournit une configuration supplémentaire pour les versions azd et extensions requises.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
azd |
N | corde | Plage de versions prises en charge de azd pour ce projet. Si la version d’une version est en dehors de azd cette plage, le projet ne parvient pas à se charger. Prend en charge la syntaxe de plage semver. |
extensions |
N | objet | Carte des extensions et contraintes de version requises pour ce projet. Prend en charge les contraintes semver. Si la version est omise, la dernière version est installée. |
requiredVersions:
azd: ">= 0.6.0-beta.3"
extensions:
azure.ai.agents: ">=1.0.0"
my-extension: latest
state
(objet) Fournit une configuration supplémentaire pour la gestion de l’état.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
remote |
N | objet | Fournit une configuration supplémentaire pour la gestion à distance de l’état. Voir state.remote. |
state.remote
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
backend |
Y | corde | Type principal d’état distant. Par défaut : AzureBlobStorage. Valeurs autorisées : AzureBlobStorage. |
config |
Conditional | objet | Configuration spécifique au back-end. Obligatoire quand backend est AzureBlobStorage. Consultez la configuration du Stockage Blob Azure. |
Configuration du Stockage Blob Azure
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
accountName |
Y | corde | Le nom du compte Azure Storage. |
containerName |
N | corde | Nom du conteneur Stockage Azure. La valeur par défaut est le nom du projet s’il n’est pas spécifié. |
endpoint |
N | corde | Point de terminaison stockage Azure. Par défaut : blob.core.windows.net. |
state:
remote:
backend: AzureBlobStorage
config:
accountName: mystorageaccount
containerName: azd-state
platform
(objet) Fournit une configuration supplémentaire pour les fonctionnalités spécifiques à la plateforme, telles que le Centre de développement Azure.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
type |
Y | corde | Type de plateforme. Valeurs autorisées : devcenter. |
config |
N | objet | Configuration spécifique à la plateforme. Consultez la configuration du Centre de développement. |
Configuration du Centre de développement
Disponible quand type est devcenter:
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom du Centre de développement Azure. Utilisé comme centre de développement par défaut pour ce projet. |
project |
N | corde | Nom du projet du Centre de développement Azure. |
catalog |
N | corde | Nom du catalogue du Centre de développement Azure. |
environmentDefinition |
N | corde | Nom de la définition de l’environnement de catalogue du Centre de développement. |
environmentType |
N | corde | Type d’environnement de projet du Centre de développement utilisé pour l’environnement de déploiement. |
platform:
type: devcenter
config:
name: my-devcenter
project: my-project
catalog: my-catalog
environmentDefinition: my-env-def
environmentType: dev
workflows
(objet) Fournit une configuration supplémentaire pour les flux de travail tels que le comportement de azd up substitution.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
up |
N | objet ou tableau | Lorsqu’il est spécifié, remplace le comportement par défaut du azd up flux de travail. |
Étapes de workflow
Le up flux de travail accepte un steps tableau (ou peut être spécifié directement en tant que tableau). Chaque étape exécute une azd commande.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
azd |
Y | chaîne ou objet | Commande azd à exécuter. Il peut s’agir d’une chaîne (par exemple provision) ou d’un objet avec un args tableau. |
Configurer l’ordre des étapes du flux de travail
Le fichier suivant azure.yaml modifie le comportement par défaut de déplacer azd up l’étape azd package après l’étape azd provision . Utilisez cette approche dans les scénarios où vous devez connaître les URL des ressources pendant le processus de génération ou d’empaquetage.
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
workflows:
up:
steps:
- azd: provision
- azd: package
- azd: deploy --all
cloud
(objet) Fournit une configuration supplémentaire pour le déploiement sur des clouds souverains tels qu’Azure Government. Le cloud par défaut est AzureCloud.
| Propriété | Obligatoire | Type | Description |
|---|---|---|---|
name |
N | corde | Nom de l’environnement cloud. Valeurs autorisées : AzureCloud, AzureChinaCloud, AzureUSGovernment. |
cloud:
name: AzureUSGovernment
Demander de l’aide
Pour plus d’informations sur la façon de déposer un bogue, de demander de l’aide ou de proposer une nouvelle fonctionnalité pour Azure Developer CLI, consultez la page résolution des problèmes et de support.