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 azd om aan de slag te gaan met 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. Ingebouwde waarden zijn bicep en terraform. Extensies kunnen extra benoemde providers registreren (bijvoorbeeld microsoft.foundry). Standaard: bicep.
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.
dependsOn N reeks van tekenreeksen Namen van andere lagen waarvan deze laag afhankelijk is. Gebruik dit om hook-mediated afhankelijkheden te declareren (bijvoorbeeld wanneer een haak in een postprovision andere laag een env var schrijft die de bicepparam van deze laag leest tijdens de inrichting) die azdstatische analyse niet kan afleiden van.bicep / .bicepparam / .parameters.jsoninhoud.
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
      dependsOn:
        - core
      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, jstsjavagogolangdocker
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 N Y Y N Y 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 Y Y N Y N
microsoft.foundry Microsoft Foundry (verouderd) N N N N N N
azure.ai.project Microsoft Foundry-project N N N N N N
azure.ai.connection Microsoft Foundry-verbinding N N N N N N
azure.ai.toolbox Microsoft Foundry-werkset N N N N N N
azure.ai.skill Microsoft Foundry-vaardigheid N N N N N N
azure.ai.routine Microsoft Foundry routine N N N 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.

Note

Wanneer host is appservice, kunt u implementeren vanuit de bron door instelling projectof vanuit een container door instelling image en docker.

Note

Wanneer host is azure.ai.agent, wordt de config eigenschap afgeschaft. Agentinstellingen zijn verplaatst naar het serviceniveau, maar de vorige config shape blijft geldig.

Note

De microsoft.foundryhosts , azure.ai.project, azure.ai.connection, azure.ai.skillazure.ai.toolboxen azure.ai.routine hosts zijn declaratieve Microsoft Foundry-resourcehosts. U bouwt of implementeert geen toepassingscode voor deze toepassingen. In plaats daarvan declareert elke resource een ondersteunende Foundry-resource die azd wordt ingericht en geconfigureerd. De configuratie is afkomstig van de bijbehorende azd extensies in plaats van de broncode, dus eigenschappen zoals project, imageen docker zijn niet van toepassing. Gebruik azure.ai.project voor nieuwe projecten; microsoft.foundry is een verouderde compatibiliteitshost. Zie Microsoft Foundry-hosts voor meer informatie over eigenschappen.

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 ondersteuning bieden voor containers (appservice, 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.

Microsoft Foundry-hosts

De azure.ai.agent host en de declaratieve Foundry-resourcehosts (microsoft.foundry, azure.ai.project, azure.ai.connection, azure.ai.toolboxen azure.ai.skillazure.ai.routine) werken met Microsoft Foundry-resources. De azure.ai.agent host implementeert toepassingscode die u bouwt vanuit een project map, terwijl de declaratieve hosts geen code bevatten die u bouwt. Elke declaratieve host beschrijft een ondersteunende Foundry-resource die azd wordt ingericht en geconfigureerd. In tegenstelling tot ai.endpoint, waarmee instellingen worden configgenest onder , definiëren deze hosts hun hostspecifieke eigenschappen als platte broers en zussen van host. De eigenschappen van elke host zijn afkomstig uit een azd extensieschema in plaats van het kernschema azure.yaml , dus de extensie moet worden geïnstalleerd om de eigenschappen te valideren. Voor de declaratieve hosts is de servicesleutel de resourcenaam (bijvoorbeeld de verbinding, werkset, vaardigheid of routinenaam).

azure.ai.agent Config

(eigenschappen op serviceniveau, wanneer host dat het isazure.ai.agent) Configureer een gehoste Microsoft Foundry-agent. De service vereist projectook . De volledige eigenschappenset wordt gedefinieerd door het azure.ai.agent extensieschema.

Vastgoed Vereist Type Beschrijving
name N snaar De naam van de agent.
displayName N snaar Een mensvriendelijke weergavenaam voor de agent.
description N snaar Een beschrijving van de agent.
kind N snaar De agent is aardig. Alleen hosted wordt ondersteund.
env N object Omgevingsvariabelen als sleutel-waardeparen.
deployments N array Modelimplementaties voor de agent. Zie agentmodelimplementaties.
codeConfiguration N object Implementeer de agent vanuit de bron in plaats van een containerinstallatiekopieën. Zie de configuratie van agentcode.
container N object Containerresource-instellingen voor de agent. Zie Agent-containerbronnen.
startupCommand N snaar De opdracht waarmee de agentserver lokaal wordt gestart, bijvoorbeeld python main.py. Gebruikt door azd ai agent run.
resources N array Externe resources voor agentuitvoering. Elk item heeft een resource id en een connectionName.
toolConnections N array Verbindingen met externe services (MCP-hulpprogramma's, A2A, aangepaste API's) die tijdens het inrichten zijn gemaakt. Zie het extensieschema.
toolboxes N array Werksets (Foundry Toolsets) die moeten worden geïmplementeerd. Zie het extensieschema.
connections N array Project verbindingen maken via Bicep inrichting. Zie het extensieschema.
memoryStores N array Foundry-geheugenarchieven waarmee de agent context in sessies kan behouden. Zie het extensieschema.
policies N array Governancebeleid dat is gekoppeld aan de agent, zoals verantwoorde AI. Zie het extensieschema.
protocols N array Aanroepprotocollen die de agent implementeert, bijvoorbeeld responses, invocationsof a2a.
agentEndpoint N object Configuratie van agenteindpunt, zoals protocollen, versieselectie en verificatie.
agentCard N object A2A-detectiemetagegevens voor de agent.
metadata N object Sleutel-/waardeparen voor metagegevens voor de agent.
inputSchema N object Een invoerschema voor de agent.
outputSchema N object Een uitvoerschema voor de agent.
Implementaties van agentmodellen

Elk item in deployments upsert een modelimplementatie.

Vastgoed Vereist Type Beschrijving
name Y snaar De naam van de modelimplementatie.
model Y object De modelconfiguratie: name, formaten version (alle vereist).
sku Y object De SKU-configuratie: name en capacity (beide vereist).
Configuratie van agentcode

Wanneer codeConfiguration deze aanwezig is, wordt de agent geïmplementeerd vanuit de bron (ZIP) in plaats van een containerinstallatiekopie.

Vastgoed Vereist Type Beschrijving
runtime Y snaar De runtime-id, bijvoorbeeld python_3_12 of dotnet_9.
entryPoint Y snaar Het toegangspunt voor de agentbron.
dependencyResolution N snaar De afhankelijkheidsoplossingsmodus, bijvoorbeeld bundled of remote_build.
Agentcontainerbronnen

Het container object stelt rekenresources in via een genest resources object.

Vastgoed Vereist Type Beschrijving
cpu N snaar De CPU-toewijzing, bijvoorbeeld 1 of 500m.
memory N snaar De geheugentoewijzing, bijvoorbeeld 1Gi of 512Mi.
services:
  myagent:
    project: ./src/agent
    host: azure.ai.agent
    language: python
    name: support-agent
    displayName: Support Agent
    kind: hosted
    env:
      LOG_LEVEL: info
    deployments:
      - name: gpt-4o
        model:
          name: gpt-4o
          format: OpenAI
          version: "2024-08-06"
        sku:
          name: GlobalStandard
          capacity: 50
    codeConfiguration:
      runtime: python_3_12
      entryPoint: main.py
      dependencyResolution: remote_build
    container:
      resources:
        cpu: "1"
        memory: 2Gi

Andere Microsoft Foundry-hosts

De volgende declaratieve hosts nemen hun eigenschappen uit azd extensieschema's. U bouwt of implementeert er geen code voor. Elke resource declareert een ondersteunende Foundry-resource die azd wordt geïmplementeerd. De servicesleutel is de resourcenaam. Zie het schema van elke host voor de volledige set eigenschappen.

Host Belangrijke eigenschappen Schema
microsoft.foundry (verouderd) endpoint, deployments, connections, toolboxes, skills, , routines, agents microsoft.foundry.json
azure.ai.project endpoint, , deploymentsnetwork azure.ai.project.json
azure.ai.connection category, target, authType, credentials, , metadata azure.ai.connection.json
azure.ai.toolbox description, tools azure.ai.toolbox.json
azure.ai.skill description, , instructionstools azure.ai.skill.json
azure.ai.routine description,enabled,triggers,action azure.ai.routine.json
services:
  # Foundry project that owns model deployments
  project:
    host: azure.ai.project
    deployments:
      - name: gpt-4o
        model:
          name: gpt-4o
          format: OpenAI
          version: "2024-08-06"
        sku:
          name: GlobalStandard
          capacity: 50
  # Connection referenced by tools (service key is the connection name)
  my-search:
    host: azure.ai.connection
    uses:
      - project
    category: CognitiveSearch
    target: https://my-search.search.windows.net
    authType: ApiKey

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. predeploypostdeploy

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 Zoeken 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: , , , , preprovisionpostprovision, preinfracreatepostinfracreate, , preinfradeletepostinfradeletepredownpostdownpreuppostupprepackagepostpackageprepublish, . postpublishpredeploypostdeployprerestorepostrestore

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. Voor bestandspaden wordt de shell automatisch afgeleid van de bestandsextensie.
shell N snaar Type shell om scripts uit te voeren. Optional. Wanneer u dit weglaat, azd selecteert u een standaardinstelling op basis van het besturingssysteem: pwsh op Windows en in Linux en sh macOS, en wordt een waarschuwing weergegeven waarin een expliciete waarde wordt aanbevolen. 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 stdoutstderrvan 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 continueOnErrorsecretsconfigeigenschappen 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