Naslaginformatie over Azure Developer CLI-schema

Het azure.yaml bestand is het configuratiebestand voor Azure Developer CLI-projecten (azd). Plaats deze in de hoofdmap van uw project om de services, Azure-resources, infrastructuur, hooks en CI/CD-pijplijn te definiëren waaruit uw toepassing bestaat. Wanneer u opdrachten uitvoert zoals azd up, azd provisionof azd deploy, leest de CLI dit bestand om inzicht te hebben in de structuur van uw app en hoe u het in Azure implementeert.

Dit artikel is een volledig overzicht van het azure.yaml-schema. Zie het overzicht van Azure Developer CLI-sjablonen om aan de slag te gaan met azd sjablonen.

Monster

Hier volgt een algemeen voorbeeld van een azure.yaml bestand voor een azd sjabloon. Zie de azure.yamlsjabloon ToDo NodeJs Mongo voor een praktijkvoorbeeld:

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

Eigenschappen op het hoogste niveau

Elementnaam Vereist Type Beschrijving
name Y snaar De naam van de toepassing. Alleen kleine letters, cijfers en afbreekstreepjes (-) zijn toegestaan. De naam moet beginnen en eindigen met een letter of cijfer.
resourceGroup N snaar Naam van de Azure-resourcegroep. Wanneer u dit hebt opgegeven, wordt de naam van de resourcegroep overschreven die wordt gebruikt voor het inrichten van de infrastructuur. Ondersteunt vervanging van omgevingsvariabelen.
metadata N object Metagegevens over de toepassingssjabloon.
infra N object Biedt aanvullende configuratie voor het inrichten van azure-infrastructuur.
services N object Definitie van services die deel uitmaken van de toepassing.
resources N object Definitie van Azure-resources die door de toepassing worden gebruikt.
pipeline N object Definitie van pijplijn voor continue integratie.
hooks N object Haken op opdrachtniveau voor azd opdrachten.
requiredVersions N object Biedt aanvullende configuratie voor vereiste versies en azd extensies.
state N object Biedt aanvullende configuratie voor statusbeheer.
platform N object Biedt aanvullende configuratie voor platformspecifieke functies, zoals Azure Dev Center.
workflows N object Biedt aanvullende configuratie voor werkstromen, zoals het negeren van azd up gedrag.
cloud N object Biedt aanvullende configuratie voor implementatie in onafhankelijke clouds. De standaardcloud is AzureCloud.

name

(tekenreeks, vereist) De naam van de toepassing. Alleen kleine letters, cijfers en afbreekstreepjes (-) zijn toegestaan. De naam moet beginnen en eindigen met een letter of cijfer. Minimale lengte: 2 tekens.

name: my-app

resourceGroup

(tekenreeks) naam van de Azure-resourcegroep. Wanneer u dit hebt opgegeven, wordt de naam van de resourcegroep overschreven die wordt gebruikt voor het inrichten van de infrastructuur. Ondersteunt vervanging van omgevingsvariabelen. Moet tussen 3 en 64 tekens zijn.

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

metadata

(object) Metagegevens over de toepassingssjabloon.

Vastgoed Vereist Type Beschrijving
template N snaar Id van de sjabloon waaruit de toepassing is gemaakt.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(object) Biedt aanvullende configuratie voor het inrichten van azure-infrastructuur.

Vastgoed Vereist Type Beschrijving
provider N snaar De infrastructuurinrichtingsprovider die wordt gebruikt voor het inrichten van de Azure-resources voor de toepassing. Standaard: bicep. Toegestane waarden: bicep, terraform.
path N snaar Het relatieve mappad naar de Azure-inrichtingssjablonen voor de opgegeven provider. Standaard: infra.
module N snaar De naam van de standaardmodule in de Azure-inrichtingssjablonen. Standaard: main.
layers N array Lagen voor het inrichten van Azure-infrastructuur. Zie infra.layers.

Note

Wanneer layers wordt opgegeven met ten minste één item, kunnen de path en module eigenschappen niet worden gebruikt. Gebruik in plaats daarvan laagspecifieke path waarden en module waarden.

infra.layers

(matrix met objecten) Definieert inrichtingslagen voor Azure-infrastructuur. Elke laag vertegenwoordigt een onafhankelijke inrichtingseenheid.

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de inrichtingslaag.
path Y snaar Het relatieve mappad naar de Azure-inrichtingssjablonen voor de opgegeven provider.
module N snaar De naam van de Azure-inrichtingsmodule die wordt gebruikt bij het inrichten van resources. Standaard: main.
hooks N object Inrichtingslaaghook. Ondersteunt preprovision en postprovision haakjes. Wanneer u paden opgeeft, moeten ze relatief zijn ten opzichte van het laagpad. Zie Hook-definitie.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Voorbeeld van Terraform als IaC-provider

Als u Terraform in plaats van Bicep wilt gebruiken, stelt u het in provider op terraform. Zie Terraform gebruiken als een IaC-provider voor meer informatie.

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

(object) Definitie van services waaruit de toepassing bestaat. Elke sleutel is een servicenaam en de waarde is een serviceconfiguratieobject.

Service-eigenschappen

Vastgoed Vereist Type Beschrijving
host Y snaar Het type Azure-resource dat wordt gebruikt voor service-implementatie. Zie Hosttypen.
project Conditional snaar Pad naar de broncodemap van de service. Vereist voor de meeste hosttypen.
image Conditional snaar De broninstallatiekopieën die moeten worden gebruikt voor de containerinstallatiekopieën in plaats van te bouwen vanuit de bron. Ondersteunt vervanging van omgevingsvariabelen. Alleen geldig voor containerapp host.
language N snaar Taal voor service-implementatie. Toegestane waarden: dotnet, csharp, fsharp, py, python, jstsjava, , . docker
module N snaar Pad van de infrastructuurmodule die wordt gebruikt om de service te implementeren ten opzichte van de hoofdinfrastructuurmap. Als u dit weglaat, gaat de CLI ervan uit dat de modulenaam hetzelfde is als de servicenaam.
dist N snaar Relatief pad naar service-implementatieartefacten.
resourceName N snaar Naam van de Azure-resource waarmee de service wordt geïmplementeerd. Standaard detecteert de CLI de Azure-resource met een tag azd-service-name die is ingesteld op de naam van de huidige service. Ondersteunt vervanging van omgevingsvariabelen.
resourceGroup N snaar Naam van de Azure-resourcegroep die de resource bevat. Wanneer deze is opgegeven, zoekt de CLI de Azure-resource binnen de opgegeven resourcegroep. Ondersteunt vervanging van omgevingsvariabelen.
remoteBuild N boolean Of u externe build wilt gebruiken voor de implementatie van functie-apps. Alleen geldig wanneer host .function Als dit is ingesteld true, wordt het implementatiepakket op afstand gebouwd met behulp van Oryx. Standaard ingesteld true voor JavaScript-, TypeScript- en Python-functie-apps.
docker N object Docker-configuratie. Alleen van toepassing op hosts op basis van containers. Zie docker.
k8s N object AKS-configuratieopties. Alleen geldig wanneer host .aks Zie k8s.
config N object Extra configuratieopties voor de service.
uses N array Lijst met servicenamen en resourcenamen waarvan deze service afhankelijk is.
env N object Een toewijzing van namen van omgevingsvariabelen aan waarden. Ondersteunt vervanging van omgevingsvariabelen.
apiVersion N snaar Api-versie van resourceprovider voor implementaties. Alleen geldig wanneer host .containerapp
hooks N object Service level hooks. Zie Service hooks.

Tip

Zie servicevoorbeelden voor volledige YAML-voorbeelden van verschillende serviceconfiguraties.

Hosttypen

De host eigenschap bepaalt het type Azure-resource dat wordt gebruikt voor service-implementatie en bepaalt welke andere eigenschappen geldig zijn.

Hostwaarde Beschrijving Vereist project Ondersteunt image Ondersteunt docker Ondersteunt k8s Ondersteunt env Ondersteunt apiVersion
appservice Azure App Service Y N N N N N
containerapp Azure Container Apps - een dienst van Microsoft waarmee je containers kunt uitvoeren en beheren in de cloud. project of image (niet beide) Y Y N Y Y
function Azure Functions Y N N N N N
staticwebapp Azure Static Web Apps (Statische Web Apps van Azure) Y N N N N N
springapp Azure Spring Apps Y N N N N N
aks Azure Kubernetes Service N N Y Y N N
ai.endpoint Azure AI Online-eindpunt Y N Y N N N
azure.ai.agent Azure AI-Agent Y N Y N N N

Note

springapp ondersteuning vereist aanmelding bij alfafuncties. Zie Alpha-functies voor meer informatie.

Note

Als host dat het geval is containerapp, moet u een image of project, maar niet beide opgeven. Als image deze is ingesteld, wordt de container geïmplementeerd vanuit de opgegeven installatiekopie. Als project deze is ingesteld, wordt de containerinstallatiekopie gebouwd op basis van de bron.

ai.endpoint Config

(object, vereist wanneer host ) ai.endpoint Biedt aanvullende configuratie voor de implementatie van azure AI online-eindpunten.

Vastgoed Vereist Type Beschrijving
workspace N snaar De naam van de AI Studio-projectwerkruimte. Als u dit weglaat, azd wordt de waarde gebruikt die is opgegeven in de AZUREAI_PROJECT_NAME omgevingsvariabele. Ondersteunt vervanging van omgevingsvariabelen.
flow N object De configuratie van de Azure AI Studio-promptstroom. Wanneer u dit weglaat, wordt er geen promptstroom gemaakt. Zie configuratie van AI-onderdelen.
environment N object De aangepaste omgevingsconfiguratie van Azure AI Studio. Wanneer u dit weglaat, wordt er geen aangepaste omgeving gemaakt. Zie configuratie van AI-onderdelen.
model N object De azure AI Studio-modelconfiguratie. Wanneer u dit weglaat, wordt er geen model gemaakt. Zie configuratie van AI-onderdelen.
deployment Y object De configuratie van de online-eindpuntimplementatie van Azure AI Studio. Er wordt een nieuwe online-eindpuntimplementatie gemaakt en verkeer wordt automatisch overgezet naar de nieuwe implementatie nadat deze is voltooid. Zie configuratie van AI-implementatie.

Note

Wanneer host is ai.endpoint, beide project en config zijn vereist. Zie ai.endpoint de configuratie voor de vereiste configuratie-eigenschappen.

Configuratie van AI-onderdelen
Vastgoed Vereist Type Beschrijving
name N snaar Naam van het AI-onderdeel. Wanneer u dit weglaat, azd genereert u een naam op basis van het onderdeeltype en de servicenaam. Ondersteunt vervanging van omgevingsvariabelen.
path Y snaar Het pad naar het configuratiebestand of de broncode van het AI-onderdeel.
overrides N object Een kaart met sleutel-waardeparen die worden gebruikt om de configuratie van het AI-onderdeel te overschrijven. Ondersteunt vervanging van omgevingsvariabelen.
Configuratie van AI-implementatie

Neemt alle eigenschappen over van de configuratie van ai-onderdelen, plus:

Vastgoed Vereist Type Beschrijving
environment N object Een kaart met sleutel-waardeparen die moeten worden ingesteld als omgevingsvariabelen voor de implementatie. Waarden ondersteunen vervanging van het besturingssysteem en azd de omgevingsvariabele.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(object) Docker-configuratie voor een service. Alleen van toepassing op hosts die containers ondersteunen (containerapp, aks, ai.endpoint). azure.ai.agent

Vastgoed Vereist Type Beschrijving
path N snaar Het pad naar het Dockerfile ten opzichte van uw service. Standaard: ./Dockerfile.
context N snaar De docker-buildcontext. Wanneer u dit hebt opgegeven, wordt de standaardcontext overschreven. Standaard: ..
platform N snaar Het platformdoel. Standaard: amd64.
registry N snaar Het containerregister om de installatiekopieën naar te pushen. Als u dit weglaat, wordt standaard de waarde van AZURE_CONTAINER_REGISTRY_ENDPOINT de omgevingsvariabele gebruikt. Ondersteunt vervanging van omgevingsvariabelen.
image N snaar De naam die wordt toegepast op de gemaakte containerinstallatiekopie. Als u dit weglaat, wordt standaard ingesteld op {appName}/{serviceName}-{environmentName}. Ondersteunt vervanging van omgevingsvariabelen.
tag N snaar De tag die wordt toegepast op de ingebouwde containerinstallatiekopie. Als u dit weglaat, wordt standaard ingesteld op azd-deploy-{unix time (seconds)}. Ondersteunt vervanging van omgevingsvariabelen.
buildArgs N reeks van tekenreeksen Bouwargumenten om door te geven aan de docker-buildopdracht.
network N snaar De netwerkmodus voor RUN-instructies tijdens docker-build. Doorgegeven als --network aan docker-build. Gebruik bijvoorbeeld host om de buildcontainer toegang te geven tot het hostnetwerk.
remoteBuild N boolean Of de installatiekopieën op afstand moeten worden gebouwd. Als deze optie is ingesteld true, wordt de installatiekopie extern gebouwd met behulp van de externe buildfunctie van Azure Container Registry. Als de externe build mislukt, azd valt u automatisch terug naar het lokaal bouwen met behulp van Docker of Podman, indien beschikbaar.

k8s

(object) Configuratieopties voor Azure Kubernetes Service (AKS). Alleen geldig wanneer host .aks

Vastgoed Vereist Type Beschrijving
deploymentPath N snaar Het relatieve pad van het servicepad naar de k8s-implementatiemanifesten. Standaard: manifests.
namespace N snaar De k8s-naamruimte van de geïmplementeerde resources. Wanneer deze is opgegeven, wordt er een nieuwe k8s-naamruimte gemaakt als deze nog niet bestaat. Standaard: projectnaam.
deployment N object De implementatieconfiguratie van k8s. Zie implementatieconfiguratie.
service N object De configuratie van de k8s-service. Zie serviceconfiguratie.
ingress N object De configuratie voor inkomend verkeer van k8s. Zie de configuratie voor inkomend verkeer.
helm N object De Helm-configuratie. Zie Helm-configuratie.
kustomize N object De kustomize-configuratie. Zie Kustomize-configuratie.
Implementatieconfiguratie
Vastgoed Vereist Type Beschrijving
name N snaar De naam van de k8s-implementatieresource die tijdens de implementatie moet worden gebruikt. Als dit niet is ingesteld, zoekt u naar een implementatieresource in dezelfde naamruimte die de servicenaam bevat. Standaard: servicenaam.
Serviceconfiguratie
Vastgoed Vereist Type Beschrijving
name N snaar De naam van de k8s-serviceresource die moet worden gebruikt als het standaardservice-eindpunt. Als deze niet is ingesteld, zoekt u naar een serviceresource in dezelfde naamruimte die de servicenaam bevat. Standaard: servicenaam.
Configuratie voor inkomend verkeer
Vastgoed Vereist Type Beschrijving
name N snaar De naam van de k8s-toegangsbeheerresource die moet worden gebruikt als het standaardservice-eindpunt. Als deze niet is ingesteld, zoekt u naar een toegangsbeheerobjectresource in dezelfde naamruimte die de servicenaam bevat. Standaard: servicenaam.
relativePath N snaar Het relatieve pad naar de service vanuit de hoofdmap van uw ingangscontroller. Wanneer deze is ingesteld, wordt deze toegevoegd aan de hoofdmap van het resourcepad voor inkomend verkeer.
Helm-configuratie
Vastgoed Vereist Type Beschrijving
repositories N array De Helm-opslagplaatsen die moeten worden toegevoegd.
releases N array De Helm-releases die moeten worden geïnstalleerd.

repositories matrixitems:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de Helm-opslagplaats.
url Y snaar De URL van de Helm-opslagplaats.

releases matrixitems:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de Helm-release.
chart Y snaar De naam van de Helm-grafiek.
version N snaar De versie van de Helm-grafiek.
namespace N snaar De k8s-naamruimte om de Helm-grafiek te installeren. De standaardinstelling is de servicenaamruimte.
values N snaar Relatief pad van service naar een values.yaml om door te geven aan de Helm-grafiek.
Kustomize-configuratie
Vastgoed Vereist Type Beschrijving
dir N snaar Het relatieve pad naar de kustomize-map. Ondersteunt vervanging van omgevingsvariabelen.
edits N reeks van tekenreeksen De kustomizebewerkingen die vóór de implementatie moeten worden toegepast. Ondersteunt vervanging van omgevingsvariabelen.
env N object Omgevingssleutel-/waardeparen die worden gebruikt voor het genereren van een .env bestand in de kustomize-map. Waarden ondersteunen vervanging van omgevingsvariabelen.

Service-invoerpunten

Service level hooks worden uitgevoerd tijdens gebeurtenissen voor de levenscyclus van de service. Hooks moeten overeenkomen met namen van servicegebeurtenissen die zijn voorafgegaan door pre of post. Wanneer u paden opgeeft, moeten ze relatief zijn ten opzichte van het servicepad. Zie Uw Azure Developer CLI-werkstromen aanpassen met behulp van opdracht- en gebeurtenishook voor meer informatie.

Ondersteunde servicehook: prerestore, postrestore, prebuild, postbuild, prepackage, postpackage, , prepublish, postpublish. postdeploypredeploy

Elke hook maakt gebruik van de definitie-indeling Hook .

Servicevoorbeelden

Container Apps met Docker-opties
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 van een vooraf gemaakte installatiekopieën
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
AKS met serviceniveauhook
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

(object) Definitie van Azure-resources die door de toepassing worden gebruikt. Elke sleutel is een resourcenaam en de waarde is een resourceconfiguratieobject. Er kan naar resources worden verwezen door services via de uses eigenschap.

Algemene resource-eigenschappen

Vastgoed Vereist Type Beschrijving
type Y snaar Het type resource. Zie Resourcetypen.
uses N array Andere resources waarop deze resource afhankelijk is.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

Tip

Zie het voorbeeld Resources voor een volledig YAML-voorbeeld waarin meerdere resourcetypen worden gecombineerd.

Resourcetypen

De type eigenschap bepaalt het type Azure-resource en bepaalt welke aanvullende eigenschappen beschikbaar zijn.

Typewaarde Beschrijving Aanvullende eigenschappen
host.appservice Azure App Service-web-app Zie host.appservice eigenschappen.
host.containerapp Container-app op basis van Docker Zie host.containerapp eigenschappen.
ai.openai.model Een geïmplementeerd, kant-en-klaar AI-model Zie ai.openai.model eigenschappen.
ai.project Een Microsoft Foundry-project met modellen Zie ai.project eigenschappen.
ai.search Azure AI Search Zie ai.search eigenschappen.
db.postgres Azure-database voor PostgreSQL Geen extra eigenschappen.
db.mysql Azure-database voor MySQL Geen extra eigenschappen.
db.redis Azure-cache voor Redis Geen extra eigenschappen.
db.mongo Azure Cosmos DB voor MongoDB Geen extra eigenschappen.
db.cosmos Azure Cosmos DB voor NoSQL Zie db.cosmos eigenschappen.
messaging.eventhubs Azure Event Hubs-naamruimte Zie messaging.eventhubs eigenschappen.
messaging.servicebus Azure Service Bus-naamruimte Zie messaging.servicebus eigenschappen.
storage Azure opslagaccount Zie storage eigenschappen.
keyvault Azure Key Vault Zie keyvault eigenschappen.

host.appservice eigenschappen

Vastgoed Vereist Type Beschrijving
port N integer Poort waarop de web-app luistert. Standaard: 80.
runtime Y object De configuratie van de taalruntime. Zie hieronder.
env N array Omgevingsvariabelen. Elk item heeft name (vereist) valueen secret eigenschappen. Ondersteunt vervanging van omgevingsvariabelen.
startupCommand N snaar Opstartopdracht die wordt uitgevoerd als onderdeel van het opstarten van de web-app.
uses N reeks van tekenreeksen Andere resources die door deze resource worden gebruikt.

runtime Object:

Vastgoed Vereist Type Beschrijving
stack Y snaar De taalruntimestack. Toegestane waarden: node, python.
version Y snaar De versie van de taalruntime. De indeling verschilt per stack (bijvoorbeeld 22-lts voor Node, 3.13 voor Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp eigenschappen

Vastgoed Vereist Type Beschrijving
port N integer Poort waarop de container-app luistert. Standaard: 80.
env N array Omgevingsvariabelen. Elk item heeft name (vereist) valueen secret eigenschappen. Ondersteunt vervanging van omgevingsvariabelen.
uses N reeks van tekenreeksen Andere resources die door deze resource worden gebruikt.

ai.openai.model eigenschappen

Vastgoed Vereist Type Beschrijving
model Conditional object Het onderliggende AI-model. Vereist wanneer existingfalse is.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

model Object:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van het AI-model.
version Y snaar De versie van het AI-model.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

ai.project eigenschappen

Vastgoed Vereist Type Beschrijving
models N array De AI-modellen die moeten worden geïmplementeerd als onderdeel van het AI-project.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

models matrixitems:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van het AI-model.
version Y snaar De versie van het AI-model.
format Y snaar De indeling van het AI-model (bijvoorbeeld Microsoft, OpenAI).
sku Y object De SKU-configuratie voor het AI-model.

sku Object:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de SKU (bijvoorbeeld GlobalStandard).
usageName Y snaar De gebruiksnaam van de SKU voor factureringsdoeleinden (bijvoorbeeld OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y integer De capaciteit van de SKU.

ai.search eigenschappen

Vastgoed Vereist Type Beschrijving
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

db.cosmos eigenschappen

Vastgoed Vereist Type Beschrijving
containers N array Containers voor het opslaan van gegevens. Elke container slaat een verzameling items op.

containers matrixitems:

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de container.
partitionKeys Y array De partitiesleutel(s) die worden gebruikt om gegevens over partities te verdelen. Maximaal 3 toetsen. Standaard: /id.

messaging.eventhubs eigenschappen

Vastgoed Vereist Type Beschrijving
hubs N reeks van tekenreeksen Hubnamen die moeten worden gemaakt in de Event Hubs-naamruimte.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

messaging.servicebus eigenschappen

Vastgoed Vereist Type Beschrijving
queues N reeks van tekenreeksen Wachtrijnamen die moeten worden gemaakt in de Service Bus-naamruimte.
topics N reeks van tekenreeksen Onderwerpnamen die moeten worden gemaakt in de Service Bus-naamruimte.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

storage eigenschappen

Vastgoed Vereist Type Beschrijving
containers N reeks van tekenreeksen Containernamen van Azure Storage-account.
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

keyvault eigenschappen

Vastgoed Vereist Type Beschrijving
existing N boolean Als deze optie is ingesteld true, wordt deze resource niet gemaakt en wordt in plaats daarvan gebruikt voor verwijzingsdoeleinden. Standaard: false.

Voorbeeld van resources

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

(object) definitie van pijplijn voor continue integratie.

Vastgoed Vereist Type Beschrijving
provider N snaar De pijplijnprovider die moet worden gebruikt voor continue integratie. Standaard: github. Toegestane waarden: github, azdo.
variables N reeks van tekenreeksen Lijst met azd omgevingsvariabelen die in de pijplijn als variabelen moeten worden gebruikt.
secrets N reeks van tekenreeksen Lijst met azd omgevingsvariabelen die in de pijplijn als geheimen moeten worden gebruikt.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(object) Haken op opdrachtniveau. Hooks moeten overeenkomen met azd opdrachtnamen die zijn voorafgegaan door pre of post, afhankelijk van wanneer het script moet worden uitgevoerd. Wanneer u paden opgeeft, moeten ze relatief zijn ten opzichte van het projectpad. Zie Uw Azure Developer CLI-werkstromen aanpassen met behulp van opdracht- en gebeurtenishook voor meer informatie.

Ondersteunde opdrachthaken: , , , , postinfracreatepreinfradelete, predownpostinfradelete, , postupprepublishpredeploypostdownpreupprepackagepostdeploypostpackagepostpublish, . prerestorepostrestorepreinfracreatepostprovisionpreprovision

Elke hook maakt gebruik van de definitie-indeling Hook .

Tip

Zie Hook-voorbeelden voor volledige YAML-voorbeelden, waaronder platformspecifieke hooks, getypte uitvoerders en meerdere hooks per gebeurtenis.

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

Hook-definitie

Een haak kan één haakobject of een matrix van haakobjecten zijn. Elk haakobject heeft de volgende eigenschappen:

Vastgoed Vereist Type Beschrijving
run Conditional snaar Het inlinescript of het relatieve pad van uw script. Vereist bij het opgevenshell, kind, , dir, interactive, , continueOnError, , of secretsconfig. Wanneer u een inlinescript opgeeft, moet u ook het shell te gebruiken script opgeven. De shell wordt automatisch afgeleid wanneer u bestandspaden gebruikt.
shell N snaar Type shell om scripts uit te voeren. Standaard: sh. Toegestane waarden: sh, pwsh.
kind N snaar Uitvoerdertype voor het hookscript. Als u dit weglaat, wordt het type automatisch gedetecteerd vanuit de bestandsextensie van het run pad (bijvoorbeeld .py wordt python, .ps1 wordt pwsh). Toegestane waarden: sh, pwsh, js, ts, python, dotnet.
dir N snaar Werkmap voor hook-uitvoering. Wordt gebruikt als de hoofdmap van het project voor de installatie van afhankelijkheden en als de werkmap bij het uitvoeren van het script. Relatieve paden worden omgezet vanuit de hoofdmap van het project of de service. Als u dit weglaat, wordt standaard de map met het scriptbestand gebruikt.
continueOnError N boolean Of een scriptfout de azd opdracht stopt. Standaard: false.
interactive N boolean Of het script wordt uitgevoerd in de interactieve modus, binding met stdinen stderrstdoutvan de actieve console. Standaard: false.
windows N object Wanneer dit is opgegeven, wordt de hookconfiguratie overschreven wanneer deze wordt uitgevoerd in Windows-omgevingen. Maakt gebruik van dezelfde hook-objectindeling.
posix N object Wanneer dit is opgegeven, overschrijft u de hookconfiguratie wanneer deze wordt uitgevoerd in POSIX-omgevingen (Linux en macOS). Maakt gebruik van dezelfde hook-objectindeling.
secrets N object Een kaart van azd omgevingsvariabelen om geheimen te koppelen. Als een variabele is ingesteld als een geheim in de omgeving, wordt de geheime waarde doorgegeven aan de hook.
config N object Uitvoerdersspecifieke configuratie. De beschikbare eigenschappen zijn afhankelijk van de kind waarde. Zie de configuratie van de Hook-uitvoerprogramma.

Note

Wanneer beide windows en posix zijn opgegeven, kunnen de runeigenschappen , , shell, kinddir, interactive, en configcontinueOnErrorsecretseigenschappen niet worden gebruikt op het hoogste niveau. Gebruik in plaats daarvan de platformspecifieke objecten.

Hook executor-configuratie

De config eigenschap accepteert verschillende eigenschappen, afhankelijk van de kind waarde.

JavaScript- en TypeScript-configuratie (js, ts)

Vastgoed Vereist Type Beschrijving
packageManager N snaar Het pakketbeheer dat moet worden gebruikt voor installatie van afhankelijkheden. Hiermee wordt automatische detectie van vergrendelingsbestanden overschreven. Toegestane waarden: npm, pnpm, yarn.

Python-configuratie

Vastgoed Vereist Type Beschrijving
virtualEnvName N snaar De mapnaam voor de virtuele Python-omgeving. Standaard ingesteld op automatische detectie (.venv, venv) of {baseName}_env.

Configuratie van .NET (dotnet)

Vastgoed Vereist Type Beschrijving
configuration N snaar De MSBuild-configuratie voor het bouwen van het hookscript (bijvoorbeeld Debug, Release).
framework N snaar Het doelframework moniker voor het bouwen en uitvoeren van het hookscript (bijvoorbeeld net8.0, net10.0).

Shell-configuratie (sh, pwsh)

Shell-uitvoerders ondersteunen config momenteel geen eigenschappen.

Hook-voorbeelden

Platformspecifieke hooks

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

Python-hook met soort

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

Meerdere hooks voor één gebeurtenis

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

requiredVersions

(object) Biedt aanvullende configuratie voor vereiste versies en azd extensies.

Vastgoed Vereist Type Beschrijving
azd N snaar Een reeks ondersteunde versies van azd voor dit project. Als de versie buiten azd dit bereik valt, kan het project niet worden geladen. Ondersteunt de syntaxis van het semver-bereik.
extensions N object Een overzicht van de vereiste extensies en versiebeperkingen voor dit project. Ondersteunt semver-beperkingen. Als de versie wordt weggelaten, wordt de nieuwste versie geïnstalleerd.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(object) Biedt aanvullende configuratie voor statusbeheer.

Vastgoed Vereist Type Beschrijving
remote N object Biedt aanvullende configuratie voor beheer van externe statussen. Zie state.remote.

state.remote

Vastgoed Vereist Type Beschrijving
backend Y snaar Het back-endtype externe status. Standaard: AzureBlobStorage. Toegestane waarden: AzureBlobStorage.
config Conditional object Back-endspecifieke configuratie. Vereist wanneer backendAzureBlobStorage is. Zie de configuratie van Azure Blob Storage.

Azure Blob Storage-configuratie

Vastgoed Vereist Type Beschrijving
accountName Y snaar De naam van Azure Storage-account.
containerName N snaar De naam van de Azure Storage-container. Standaard ingesteld op de projectnaam als deze niet is opgegeven.
endpoint N snaar Het Azure Storage-eindpunt. Standaard: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(object) Biedt aanvullende configuratie voor platformspecifieke functies, zoals Azure Dev Center.

Vastgoed Vereist Type Beschrijving
type Y snaar Het platformtype. Toegestane waarden: devcenter.
config N object Platformspecifieke configuratie. Zie de configuratie van Dev Center.

Configuratie van Dev Center

Beschikbaar wanneertype:devcenter

Vastgoed Vereist Type Beschrijving
name N snaar De naam van het Azure Dev Center. Wordt gebruikt als het standaarddevcentrum voor dit project.
project N snaar De naam van het Azure Dev Center-project.
catalog N snaar De naam van de Azure Dev Center-catalogus.
environmentDefinition N snaar De naam van de definitie van de dev Center-catalogusomgeving.
environmentType N snaar Het type Dev Center-projectomgeving dat wordt gebruikt voor de implementatieomgeving.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(object) Biedt aanvullende configuratie voor werkstromen, zoals het negeren van azd up gedrag.

Vastgoed Vereist Type Beschrijving
up N object of matrix Wanneer dit is opgegeven, wordt het standaardgedrag voor de azd up werkstroom overschreven.

Werkstroomstappen

De up werkstroom accepteert een steps matrix (of kan rechtstreeks als een matrix worden opgegeven). Elke stap voert een azd opdracht uit.

Vastgoed Vereist Type Beschrijving
azd Y tekenreeks of object De azd opdracht die moet worden uitgevoerd. Kan een tekenreeks (bijvoorbeeld provision) of een object met een args matrix zijn.

Volgorde van werkstroomstap configureren

In het volgende azure.yaml bestand wordt het standaardgedrag gewijzigd om azd up de azd package stap na de azd provision stap te verplaatsen. Gebruik deze methode in scenario's waarin u de URL's van resources tijdens het bouw- of verpakkingsproces moet kennen.

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

cloud

(object) Biedt aanvullende configuratie voor implementatie in onafhankelijke clouds, zoals Azure Government. De standaardcloud is AzureCloud.

Vastgoed Vereist Type Beschrijving
name N snaar De naam van de cloudomgeving. Toegestane waarden: AzureCloud, AzureChinaCloud, AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Hulp vragen

Ga naar de pagina voor probleemoplossing en ondersteuning voor informatie over het indienen van een bug, hulp vragen of een nieuwe functie voorstellen voor de Azure Developer CLI.

Volgende stappen