Azure Developer CLI-Schemareferenz

Die azure.yaml Datei ist die Konfigurationsdatei für Azure Developer CLI(azd)-Projekte. Platzieren Sie es im Stammverzeichnis Ihres Projekts, um die Dienste, Azure-Ressourcen, Infrastruktur, Hooks und CI/CD-Pipeline zu definieren, aus der Ihre Anwendung besteht. Wenn Sie Befehle wie azd up, azd provisionoder azd deploy, die CLI ausführen, liest die CLI diese Datei, um die Struktur Ihrer App zu verstehen und wie Sie sie in Azure bereitstellen.

Dieser Artikel ist eine vollständige Referenz für das Azure.yaml-Schema. Informationen zu den ersten Schritten mit azd Vorlagen finden Sie in der Übersicht über Azure Developer CLI-Vorlagen.

Probe

Nachfolgend sehen Sie ein generisches Beispiel für eine azure.yaml Datei für eine azd Vorlage. Ein Beispiel für eine echte Welt finden Sie in der Vorlage "ToDo NodeJs Mongo":For a real-world, see the azure.yaml from the ToDo NodeJs Mongo template:

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

Eigenschaften der obersten Ebene

Elementname Erforderlich Art Beschreibung
name Y Schnur Der Anwendungsname. Nur Kleinbuchstaben, Zahlen und Bindestriche (-) sind zulässig. Der Name muss mit einem Buchstaben oder einer Ziffer beginnen und enden.
resourceGroup N Schnur Name der Azure-Ressourcengruppe. Wenn angegeben, überschreibt der Ressourcengruppenname, der für die Infrastrukturbereitstellung verwendet wird. Unterstützt die Ersetzung von Umgebungsvariablen.
metadata N Objekt Metadaten zur Anwendungsvorlage.
infra N Objekt Stellt zusätzliche Konfiguration für die Bereitstellung der Azure-Infrastruktur bereit.
services N Objekt Definition der Dienste, die die Anwendung umfassen.
resources N Objekt Definition der von der Anwendung verwendeten Azure-Ressourcen.
pipeline N Objekt Definition der kontinuierlichen Integrationspipeline.
hooks N Objekt Befehlsebenen-Hooks für azd Befehle.
requiredVersions N Objekt Stellt zusätzliche Konfiguration für erforderliche Versionen und azd Erweiterungen bereit.
state N Objekt Stellt zusätzliche Konfiguration für die Zustandsverwaltung bereit.
platform N Objekt Bietet zusätzliche Konfiguration für plattformspezifische Features wie Azure Dev Center.
workflows N Objekt Stellt zusätzliche Konfiguration für Workflows bereit, z. B. das Außerkraftsetzungsverhalten azd up .
cloud N Objekt Stellt zusätzliche Konfiguration für die Bereitstellung in souveränen Clouds bereit. Die Standardcloud ist AzureCloud.

name

(Zeichenfolge, erforderlich) Der Anwendungsname. Nur Kleinbuchstaben, Zahlen und Bindestriche (-) sind zulässig. Der Name muss mit einem Buchstaben oder einer Ziffer beginnen und enden. Mindestlänge: 2 Zeichen.

name: my-app

resourceGroup

(Zeichenfolge) Name der Azure-Ressourcengruppe. Wenn angegeben, überschreibt der Ressourcengruppenname, der für die Infrastrukturbereitstellung verwendet wird. Unterstützt die Ersetzung von Umgebungsvariablen. Muss zwischen 3 und 64 Zeichen bestehen.

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

metadata

(Objekt) Metadaten zur Anwendungsvorlage.

Eigentum Erforderlich Art Beschreibung
template N Schnur Bezeichner der Vorlage, aus der die Anwendung erstellt wurde.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(Objekt) Stellt zusätzliche Konfiguration für die Bereitstellung der Azure-Infrastruktur bereit.

Eigentum Erforderlich Art Beschreibung
provider N Schnur Der Infrastrukturbereitstellungsanbieter, der zum Bereitstellen der Azure-Ressourcen für die Anwendung verwendet wird. Standardwert: bicep. Zulässige Werte: bicep, terraform.
path N Schnur Der relative Ordnerpfad zu den Azure-Bereitstellungsvorlagen für den angegebenen Anbieter. Standardwert: infra.
module N Schnur Der Name des Standardmoduls in den Azure-Bereitstellungsvorlagen. Standardwert: main.
layers N Anordnung Ebenen für die Bereitstellung der Azure-Infrastruktur. Siehe infra.layers.

Note

Wenn layers sie mit mindestens einem Element angegeben ist, können die path Eigenschaften nicht module verwendet werden. Verwenden Sie stattdessen layerspezifische path und module Werte.

infra.layers

(Array von Objekten) Definiert Bereitstellungsebenen für die Azure-Infrastruktur. Jede Ebene stellt eine unabhängige Bereitstellungseinheit dar.

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name der Bereitstellungsebene.
path Y Schnur Der relative Ordnerpfad zu den Azure-Bereitstellungsvorlagen für den angegebenen Anbieter.
module N Schnur Der Name des Azure-Bereitstellungsmoduls, das beim Bereitstellen von Ressourcen verwendet wird. Standardwert: main.
hooks N Objekt Bereitstellen von Layer-Hooks. Unterstützt preprovision und postprovision Haken. Bei der Angabe von Pfaden sollten sie relativ zum Layerpfad sein. Siehe Hook-Definition.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Terraform als IaC-Anbieterbeispiel

Um Terraform anstelle von Bicep zu verwenden, legen Sie die provider Auf .terraform Weitere Informationen finden Sie unter Verwenden von Terraform als IaC-Anbieter.

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

(Objekt) Definition der Dienste, die die Anwendung umfassen. Jeder Schlüssel ist ein Dienstname, und der Wert ist ein Dienstkonfigurationsobjekt.

Diensteigenschaften

Eigentum Erforderlich Art Beschreibung
host Y Schnur Der Typ der Azure-Ressource, die für die Dienstimplementierung verwendet wird. Siehe Hosttypen.
project Conditional Schnur Pfad zum Dienstquellcodeverzeichnis. Erforderlich für die meisten Hosttypen.
image Conditional Schnur Das Quellimage, das für das Containerimage verwendet werden soll, anstatt aus der Quelle zu erstellen. Unterstützt die Ersetzung von Umgebungsvariablen. Nur gültig für containerapp Host.
language N Schnur Dienstimplementierungssprache. Erlaubte Werte: dotnet, csharp, fsharp, py, python, jstsjava. docker
module N Schnur Pfad des Infrastrukturmoduls, das zum Bereitstellen des Diensts relativ zum Stamm-Infrastrukturordner verwendet wird. Wenn dies nicht angegeben wird, geht die CLI davon aus, dass der Modulname mit dem Dienstnamen identisch ist.
dist N Schnur Relativer Pfad zu Dienstbereitstellungsartefakten.
resourceName N Schnur Name der Azure-Ressource, die den Dienst implementiert. Standardmäßig ermittelt die CLI die Azure-Ressource mit Tag azd-service-name , das auf den Namen des aktuellen Diensts festgelegt ist. Unterstützt die Ersetzung von Umgebungsvariablen.
resourceGroup N Schnur Name der Azure-Ressourcengruppe, die die Ressource enthält. Wenn angegeben, findet die CLI die Azure-Ressource innerhalb der angegebenen Ressourcengruppe. Unterstützt die Ersetzung von Umgebungsvariablen.
remoteBuild N boolean Gibt an, ob Remotebuild für die Bereitstellung von Funktions-Apps verwendet werden soll. Nur gültig, wenn host es sich um function. Bei Festlegung auf true, wird das Bereitstellungspaket remote mithilfe von Oryx erstellt. Standardeinstellung true für JavaScript-, TypeScript- und Python-Funktions-Apps.
docker N Objekt Docker-Konfiguration. Gilt nur für containerbasierte Hosts. Siehe docker.
k8s N Objekt AKS-Konfigurationsoptionen. Nur gültig, wenn host es sich um aks. Siehe k8s.
config N Objekt Zusätzliche Konfigurationsoptionen für den Dienst.
uses N Anordnung Liste der Dienstnamen und Ressourcennamen, von denen dieser Dienst abhängt.
env N Objekt Eine Zuordnung von Namen von Umgebungsvariablen zu Werten. Unterstützt die Ersetzung von Umgebungsvariablen.
apiVersion N Schnur Api-Version des Ressourcenanbieters für Bereitstellungen. Nur gültig, wenn host es sich um containerapp.
hooks N Objekt Hooks auf Dienstebene. Siehe Diensthaken.

Tipp

Vollständige YAML-Beispiele für verschiedene Dienstkonfigurationen finden Sie in den Dienstbeispielen .

Hosttypen

Die host Eigenschaft bestimmt den Typ der Azure-Ressource, die für die Dienstimplementierung verwendet wird, und steuert, welche anderen Eigenschaften gültig sind.

Hostwert Beschreibung Erfordert project Unterstützt image Unterstützt docker Unterstützt k8s Unterstützt env Unterstützt apiVersion
appservice Azure App Service Y N N N N N
containerapp Azure Container Apps – ein Dienst für containerbasierte Anwendungen project oder image (nicht beide) Y Y N Y Y
function Azure-Funktionen Y N N N N N
staticwebapp Azure Statische Webanwendungen Y N N N N N
springapp Azure Spring Apps Y N N N N N
aks Azure Kubernetes-Dienst N N Y Y N N
ai.endpoint Azure AI-Onlineendpunkt Y N Y N N N
azure.ai.agent Azure AI-Agenten Y N Y N N N

Note

springapp Für die Unterstützung sind Alpha-Features erforderlich. Weitere Informationen finden Sie unter Alpha-Features.

Note

Wenn host ja containerapp, müssen Sie entweder image oder project, aber nicht beides angeben. Wenn image festgelegt, wird der Container aus dem angegebenen Image bereitgestellt. Wenn project festgelegt, wird das Containerimage aus der Quelle erstellt.

ai.endpoint Konfiguration

(Objekt, erforderlich) hostai.endpoint Stellt zusätzliche Konfiguration für die Bereitstellung von Azure AI-Onlineendpunkten bereit.

Eigentum Erforderlich Art Beschreibung
workspace N Schnur Der Name des AI Studio-Projektarbeitsbereichs. Wenn sie weggelassen wird, azd wird der in der Umgebungsvariable AZUREAI_PROJECT_NAME angegebene Wert verwendet. Unterstützt die Ersetzung von Umgebungsvariablen.
flow N Objekt Die Konfiguration des Azure AI Studio-Eingabeaufforderungsflusses. Wenn kein Eingabeaufforderungsfluss angegeben wird, wird kein Eingabeaufforderungsfluss erstellt. Siehe KI-Komponentenkonfiguration.
environment N Objekt Die benutzerdefinierte Azure AI Studio-Umgebungskonfiguration. Wenn sie weggelassen wird, wird keine benutzerdefinierte Umgebung erstellt. Siehe KI-Komponentenkonfiguration.
model N Objekt Die Azure AI Studio-Modellkonfiguration. Wenn kein Wert angegeben wird, wird kein Modell erstellt. Siehe KI-Komponentenkonfiguration.
deployment Y Objekt Die Azure AI Studio Online-Endpunktbereitstellungskonfiguration. Eine neue Onlineendpunktbereitstellung wird erstellt, und der Datenverkehr wird bei erfolgreicher Fertigstellung automatisch auf die neue Bereitstellung verschoben. Siehe KI-Bereitstellungskonfiguration.

Note

Wann host ist ai.endpoint, beide project und config sind erforderlich. Informationen zu den erforderlichen Konfigurationseigenschaften finden Sie unter ai.endpoint "Config ".

AI-Komponentenkonfiguration
Eigentum Erforderlich Art Beschreibung
name N Schnur Name der KI-Komponente. Wenn sie weggelassen wird, azd wird ein Name basierend auf dem Komponententyp und dem Dienstnamen generiert. Unterstützt die Ersetzung von Umgebungsvariablen.
path Y Schnur Der Pfad zur AI-Komponentenkonfigurationsdatei oder quellcode.
overrides N Objekt Eine Zuordnung von Schlüsselwertpaaren, die zum Überschreiben der KI-Komponentenkonfiguration verwendet werden. Unterstützt die Ersetzung von Umgebungsvariablen.
KI-Bereitstellungskonfiguration

Erbt alle Eigenschaften aus der AI-Komponentenkonfiguration, plus:

Eigentum Erforderlich Art Beschreibung
environment N Objekt Eine Zuordnung von Schlüssel-Wert-Paaren, die als Umgebungsvariablen für die Bereitstellung festgelegt werden sollen. Werte unterstützen die Ersetzung von Betriebssystem- und azd Umgebungsvariablen.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(Objekt) Docker-Konfiguration für einen Dienst. Gilt nur für Hosts, die Container unterstützen (containerapp, aks, ai.endpoint, azure.ai.agent).

Eigentum Erforderlich Art Beschreibung
path N Schnur Der Pfad zu Dockerfile relativ zu Ihrem Dienst. Standardwert: ./Dockerfile.
context N Schnur Der Docker-Buildkontext. Wenn angegeben, wird der Standardkontext außer Kraft gesetzt. Standardwert: ..
platform N Schnur Das Plattformziel. Standardwert: amd64.
registry N Schnur Die Containerregistrierung, an die das Image übertragen werden soll. Wenn dieser Wert nicht angegeben wird, wird standardmäßig der Wert der Umgebungsvariablen AZURE_CONTAINER_REGISTRY_ENDPOINT verwendet. Unterstützt die Ersetzung von Umgebungsvariablen.
image N Schnur Der Name, der auf das integrierte Containerimage angewendet wird. Wenn dieser Wert nicht angegeben wird, wird standardmäßig auf {appName}/{serviceName}-{environmentName}. Unterstützt die Ersetzung von Umgebungsvariablen.
tag N Schnur Das Tag, das auf das integrierte Containerimage angewendet wird. Wenn dieser Wert nicht angegeben wird, wird standardmäßig auf azd-deploy-{unix time (seconds)}. Unterstützt die Ersetzung von Umgebungsvariablen.
buildArgs N Feld von Zeichenfolgen Erstellen Sie Argumente, die an den Docker-Buildbefehl übergeben werden sollen.
network N Schnur Der Netzwerkmodus für RUN-Anweisungen während des Docker-Builds. Übergeben als --network Docker-Build. Verwenden Sie host z. B. die Verwendung, um dem Buildcontainer den Zugriff auf das Hostnetzwerk zu ermöglichen.
remoteBuild N boolean Gibt an, ob das Image remote erstellt werden soll. Bei Festlegung auf true, wird das Image remote mithilfe des Remotebuildfeatures der Azure-Containerregistrierung erstellt. Wenn der Remotebuild fehlschlägt, azd greift er bei Bedarf automatisch auf das lokale Erstellen mit Docker oder Podman zurück.

k8s

(Objekt) Azure Kubernetes Service (AKS)-Konfigurationsoptionen. Nur gültig, wenn host es sich um aks.

Eigentum Erforderlich Art Beschreibung
deploymentPath N Schnur Der relative Pfad vom Dienstpfad zu den k8s-Bereitstellungsmanifesten. Standardwert: manifests.
namespace N Schnur Der k8s-Namespace der bereitgestellten Ressourcen. Wenn angegeben, wird ein neuer k8s-Namespace erstellt, wenn er noch nicht vorhanden ist. Standard: Projektname.
deployment N Objekt Die Konfiguration der k8s-Bereitstellung. Siehe Bereitstellungskonfiguration.
service N Objekt Die k8s-Dienstkonfiguration. Siehe Dienstkonfiguration.
ingress N Objekt Die k8s-Eingangskonfiguration. Siehe "Ingress config".
helm N Objekt Die Helmkonfiguration. Siehe Helm-Konfiguration.
kustomize N Objekt Die Kustomize-Konfiguration. Siehe Kustomize-Konfiguration.
Bereitstellungskonfiguration
Eigentum Erforderlich Art Beschreibung
name N Schnur Der Name der k8s-Bereitstellungsressource, die während der Bereitstellung verwendet werden soll. Wenn sie nicht festgelegt ist, wird nach einer Bereitstellungsressource im selben Namespace gesucht, der den Dienstnamen enthält. Standard: Dienstname.
Dienstkonfiguration
Eigentum Erforderlich Art Beschreibung
name N Schnur Der Name der k8s-Dienstressource, die als Standarddienstendpunkt verwendet werden soll. Wenn sie nicht festgelegt ist, wird nach einer Dienstressource im selben Namespace gesucht, der den Dienstnamen enthält. Standard: Dienstname.
Ingress-Konfiguration
Eigentum Erforderlich Art Beschreibung
name N Schnur Der Name der k8s-Eingangsressource, die als Standarddienstendpunkt verwendet werden soll. Wenn sie nicht festgelegt ist, wird nach einer Eingangsressource im selben Namespace gesucht, der den Dienstnamen enthält. Standard: Dienstname.
relativePath N Schnur Der relative Pfad zum Dienst vom Stamm des Eingangscontrollers. Wenn diese Einstellung festgelegt ist, wird sie an den Stamm des Eingangsressourcenpfads angefügt.
Helm-Konfiguration
Eigentum Erforderlich Art Beschreibung
repositories N Anordnung Die hinzuzufügenden Helmrepositorys.
releases N Anordnung Der Helm wird zur Installation freigegeben.

repositories Arrayelemente:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name des Helm-Repositorys.
url Y Schnur Die URL des Helm-Repositorys.

releases Arrayelemente:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name des Steuerstandes.
chart Y Schnur Der Name des Steuerdiagramms.
version N Schnur Die Version des Steuerdiagramms.
namespace N Schnur Der k8s-Namespace zum Installieren des Steuerdiagramms. Standardmäßig wird der Dienstnamespace verwendet.
values N Schnur Relativer Pfad vom Dienst zu einem values.yaml , der an das Steuerdiagramm übergeben werden soll.
Kustomize-Konfiguration
Eigentum Erforderlich Art Beschreibung
dir N Schnur Der relative Pfad zum Kustomize-Verzeichnis. Unterstützt die Ersetzung von Umgebungsvariablen.
edits N Feld von Zeichenfolgen Die vor der Bereitstellung anzuwendenden Bearbeitungen. Unterstützt die Ersetzung von Umgebungsvariablen.
env N Objekt Umgebungsschlüssel/Wertpaare, die zum Generieren einer .env Datei im Kustomize-Verzeichnis verwendet werden. Werte unterstützen die Ersetzung von Umgebungsvariablen.

Service Hooks

Hooks auf Dienstebene werden während Dienstlebenszyklusereignissen ausgeführt. Hooks sollten mit pre dienstereignisnamen übereinstimmen, die mit dem Präfix oder post. Bei der Angabe von Pfaden sollten sie relativ zum Dienstpfad sein. Weitere Informationen finden Sie unter Anpassen Ihrer Azure Developer CLI-Workflows mithilfe von Befehls- und Ereignishaken.

Unterstützte Diensthaken: prerestore, , postrestore, postbuildprebuild, prepackage, postpackageprepublish, postpublish, . predeploypostdeploy

Jeder Hook verwendet das Hook-Definitionsformat .

Dienstbeispiele

Container-Apps mit Docker-Optionen
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 aus einem vordefinierten Image
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
AKS mit Dienstebenen-Hooks
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

(Objekt) Definition der von der Anwendung verwendeten Azure-Ressourcen. Jeder Schlüssel ist ein Ressourcenname, und der Wert ist ein Ressourcenkonfigurationsobjekt. Ressourcen können über die uses Eigenschaft von Diensten referenziert werden.

Allgemeine Ressourceneigenschaften

Eigentum Erforderlich Art Beschreibung
type Y Schnur Der Typ der Ressource. Siehe Ressourcentypen.
uses N Anordnung Andere Ressourcen, von denen diese Ressource abhängt.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

Tipp

Ein vollständiges YAML-Beispiel zur Kombination mehrerer Ressourcentypen finden Sie im Ressourcenbeispiel .

Ressourcentypen

Die type Eigenschaft bestimmt die Art der Azure-Ressource und steuert, welche zusätzlichen Eigenschaften verfügbar sind.

Typwert Beschreibung Zusätzliche Eigenschaften
host.appservice Azure App Service-Web-App Siehe host.appservice Eigenschaften.
host.containerapp Docker-basierte Container-App Siehe host.containerapp Eigenschaften.
ai.openai.model Ein bereitgestelltes, einsatzbereites KI-Modell Siehe ai.openai.model Eigenschaften.
ai.project Ein Microsoft Foundry-Projekt mit Modellen Siehe ai.project Eigenschaften.
ai.search Azure KI-Suche Siehe ai.search Eigenschaften.
db.postgres Azure-Datenbank für PostgreSQL Keine zusätzlichen Eigenschaften.
db.mysql Azure-Datenbank für MySQL Keine zusätzlichen Eigenschaften.
db.redis Azure Cache für Redis Keine zusätzlichen Eigenschaften.
db.mongo Azure Cosmos DB für MongoDB Keine zusätzlichen Eigenschaften.
db.cosmos Azure Cosmos DB für NoSQL-Datenbanklösungen Siehe db.cosmos Eigenschaften.
messaging.eventhubs Azure Event Hubs-Namespace Siehe messaging.eventhubs Eigenschaften.
messaging.servicebus Azure Service Bus Namespace Siehe messaging.servicebus Eigenschaften.
storage Azure Storage-Konto Siehe storage Eigenschaften.
keyvault Azure Key Vault (ein Dienst zur sicheren Verwaltung kryptografischer Schlüssel) Siehe keyvault Eigenschaften.

host.appservice-Eigenschaften

Eigentum Erforderlich Art Beschreibung
port N integer Port, auf den die Web-App lauscht. Standardwert: 80.
runtime Y Objekt Die Sprachlaufzeitkonfiguration. Siehe unten.
env N Anordnung Umgebungsvariablen. Jedes Element weist name (erforderlich) valueund secret Eigenschaften auf. Unterstützt die Ersetzung von Umgebungsvariablen.
startupCommand N Schnur Startbefehl, der als Teil des Web-App-Starts ausgeführt wird.
uses N Feld von Zeichenfolgen Andere Ressourcen, die diese Ressource verwendet.

runtime Objekt:

Eigentum Erforderlich Art Beschreibung
stack Y Schnur Der Sprachlaufzeitstapel. Zulässige Werte: node, python.
version Y Schnur Die Sprachlaufzeitversion. Das Format variiert je nach Stapel (z. B 22-lts . für Node, 3.13 für Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp-Eigenschaften

Eigentum Erforderlich Art Beschreibung
port N integer Port, auf den die Container-App lauscht. Standardwert: 80.
env N Anordnung Umgebungsvariablen. Jedes Element weist name (erforderlich) valueund secret Eigenschaften auf. Unterstützt die Ersetzung von Umgebungsvariablen.
uses N Feld von Zeichenfolgen Andere Ressourcen, die diese Ressource verwendet.

ai.openai.model-Eigenschaften

Eigentum Erforderlich Art Beschreibung
model Conditional Objekt Das zugrunde liegende KI-Modell. Erforderlich, wenn existing gleich false ist.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

model Objekt:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name des KI-Modells.
version Y Schnur Die Version des KI-Modells.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

ai.project-Eigenschaften

Eigentum Erforderlich Art Beschreibung
models N Anordnung Die KI-Modelle, die als Teil des KI-Projekts bereitgestellt werden sollen.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

models Arrayelemente:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name des KI-Modells.
version Y Schnur Die Version des KI-Modells.
format Y Schnur Das Format des KI-Modells (z. B Microsoft. , OpenAI).
sku Y Objekt Die SKU-Konfiguration für das KI-Modell.

sku Objekt:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name der SKU (z. B GlobalStandard. ).
usageName Y Schnur Der Verwendungsname der SKU für Abrechnungszwecke (z. B OpenAI.GlobalStandard.gpt-4o-mini. ).
capacity Y integer Die Kapazität der SKU.

ai.search-Eigenschaften

Eigentum Erforderlich Art Beschreibung
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

db.cosmos-Eigenschaften

Eigentum Erforderlich Art Beschreibung
containers N Anordnung Container zum Speichern von Daten. Jeder Container speichert eine Sammlung von Elementen.

containers Arrayelemente:

Eigentum Erforderlich Art Beschreibung
name Y Schnur Der Name des Containers,
partitionKeys Y Anordnung Der Partitionsschlüssel, der zum Verteilen von Daten über Partitionen hinweg verwendet wird. Maximal 3 Tasten. Standardwert: /id.

messaging.eventhubs-Eigenschaften

Eigentum Erforderlich Art Beschreibung
hubs N Feld von Zeichenfolgen Hubnamen, die im Event Hubs-Namespace erstellt werden sollen.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

messaging.servicebus-Eigenschaften

Eigentum Erforderlich Art Beschreibung
queues N Feld von Zeichenfolgen Warteschlangennamen, die im Service Bus-Namespace erstellt werden sollen.
topics N Feld von Zeichenfolgen Themennamen, die im Service Bus-Namespace erstellt werden sollen.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

storage-Eigenschaften

Eigentum Erforderlich Art Beschreibung
containers N Feld von Zeichenfolgen Containernamen des Azure Storage-Kontos.
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

keyvault-Eigenschaften

Eigentum Erforderlich Art Beschreibung
existing N boolean Wenn diese Ressource auf true festgelegt ist, wird sie nicht erstellt und stattdessen für Referenzierungszwecke verwendet. Standardwert: false.

Ressourcenbeispiel

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

(Objekt) Definition der kontinuierlichen Integrationspipeline.

Eigentum Erforderlich Art Beschreibung
provider N Schnur Der Pipelineanbieter, der für die kontinuierliche Integration verwendet werden soll. Standardwert: github. Zulässige Werte: github, azdo.
variables N Feld von Zeichenfolgen Liste der azd Umgebungsvariablen, die in der Pipeline als Variablen verwendet werden sollen.
secrets N Feld von Zeichenfolgen Liste der azd Umgebungsvariablen, die in der Pipeline als geheime Schlüssel verwendet werden sollen.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(Objekt) Hooks auf Befehlsebene. Hooks sollten azd Befehlsnamen mit dem Präfix pre oder post übereinstimmen, je nachdem, wann das Skript ausgeführt werden soll. Bei der Angabe von Pfaden sollten sie relativ zum Projektpfad sein. Weitere Informationen finden Sie unter Anpassen Ihrer Azure Developer CLI-Workflows mithilfe von Befehls- und Ereignishaken.

Unterstützte Befehlshaken: preprovision, , postprovision, preinfracreate, postinfracreate, preinfradelete, postinfradelete, , predown, postdownpreup, postup, postpackageprerestoreprepublishprepackagepostpublishpredeploypostdeploy. postrestore

Jeder Hook verwendet das Hook-Definitionsformat .

Tipp

Vollständige YAML-Beispiele, einschließlich plattformspezifischer Hooks, typierter Executoren und mehrerer Hooks pro Ereignis, finden Sie in den Hook-Beispielen .

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

Hook-Definition

Ein Hook kann ein einzelnes Hook-Objekt oder ein Array von Hook-Objekten sein. Jedes Hook-Objekt verfügt über die folgenden Eigenschaften:

Eigentum Erforderlich Art Beschreibung
run Conditional Schnur Das Inlineskript oder der relative Pfad Ihres Skripts. Erforderlich beim Angeben shellvon , , kind, dir, interactive, continueOnError, , oder secretsconfig. Wenn Sie ein Inlineskript angeben, müssen Sie auch die shell zu verwendende Funktion angeben. Die Shell wird automatisch abgeleitet, wenn Sie Dateipfade verwenden.
shell N Schnur Typ der Shell zum Ausführen von Skripts. Standardwert: sh. Zulässige Werte: sh, pwsh.
kind N Schnur Executor-Art für das Hook-Skript. Wenn sie weggelassen wird, wird die Art automatisch aus der Dateierweiterung des run Pfads erkannt (z .py . B. wird python, .ps1 wird pwsh). Zulässige Werte: sh, pwsh, js, ts, python, dotnet.
dir N Schnur Arbeitsverzeichnis für die Ausführung von Hooks. Wird beim Ausführen des Skripts als Projektstamm für die Abhängigkeitsinstallation und als Arbeitsverzeichnis verwendet. Relative Pfade werden aus dem Projekt- oder Dienststamm aufgelöst. Wenn sie weggelassen wird, wird standardmäßig das Verzeichnis verwendet, das die Skriptdatei enthält.
continueOnError N boolean Gibt an, ob ein Skriptfehler den azd Befehl angehalten hat. Standardwert: false.
interactive N boolean Gibt an, ob das Skript im interaktiven Modus ausgeführt wird, binden sie an stdinstdoutdie ausgeführte Konsole und stderr die ausgeführte Konsole. Standardwert: false.
windows N Objekt Wenn angegeben, überschreibt die Hookkonfiguration, wenn sie in Windows-Umgebungen ausgeführt wird. Verwendet das gleiche Hook-Objektformat.
posix N Objekt Wenn angegeben, überschreibt die Hook-Konfiguration, wenn sie in POSIX-Umgebungen (Linux und macOS) ausgeführt wird. Verwendet das gleiche Hook-Objektformat.
secrets N Objekt Eine Zuordnung von Umgebungsvariablen azd , um geheime Schlüssel zu verbinden. Wenn eine Variable als geheimer Schlüssel in der Umgebung festgelegt wurde, wird der geheime Wert an den Hook übergeben.
config N Objekt Ausführungsspezifische Konfiguration. Die verfügbaren Eigenschaften hängen vom kind Wert ab. Siehe Hook-Executorkonfiguration.

Note

Wenn beide windows angegeben und posix angegeben werden, können die runEigenschaften , shell, continueOnErrorinteractivesecretskinddirund config eigenschaften nicht auf der obersten Ebene verwendet werden. Verwenden Sie stattdessen die plattformspezifischen Objekte.

Konfiguration des Hook-Executors

Die config Eigenschaft akzeptiert je nach kind Wert unterschiedliche Eigenschaften.

JavaScript und TypeScript (js, ts) config

Eigentum Erforderlich Art Beschreibung
packageManager N Schnur Der Paket-Manager, der für die Abhängigkeitsinstallation verwendet werden soll. Setzt die automatische Erkennung von Sperrdateien außer Kraft. Zulässige Werte: npm, pnpm und yarn.

Python-Konfiguration

Eigentum Erforderlich Art Beschreibung
virtualEnvName N Schnur Der Verzeichnisname für die virtuelle Python-Umgebung. Standardmäßig wird die automatische Erkennung (.venv, venv) oder {baseName}_env.

.NET (dotnet) config

Eigentum Erforderlich Art Beschreibung
configuration N Schnur Die MSBuild-Konfiguration zum Erstellen des Hook-Skripts (z. B Debug. , Release).
framework N Schnur Der Zielframework-Moniker zum Erstellen und Ausführen des Hook-Skripts (z. B net8.0. , net10.0).

Shell -Konfiguration (sh, pwsh)

Shell-Executoren unterstützen config derzeit keine Eigenschaften.

Hook-Beispiele

Plattformspezifische Hooks

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

Python-Hook mit Art

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

Mehrere Hooks für ein einzelnes Ereignis

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

requiredVersions

(Objekt) Stellt zusätzliche Konfiguration für erforderliche Versionen und azd Erweiterungen bereit.

Eigentum Erforderlich Art Beschreibung
azd N Schnur Eine Reihe unterstützter Versionen von azd für dieses Projekt. Wenn sich die Version außerhalb azd dieses Bereichs befindet, kann das Projekt nicht geladen werden. Unterstützt die Semverbereichssyntax.
extensions N Objekt Eine Zuordnung der erforderlichen Erweiterungen und Versionsbeschränkungen für dieses Projekt. Unterstützt Semver-Einschränkungen. Wenn die Version nicht angegeben wird, wird die neueste Version installiert.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(Objekt) Stellt zusätzliche Konfiguration für die Zustandsverwaltung bereit.

Eigentum Erforderlich Art Beschreibung
remote N Objekt Stellt zusätzliche Konfiguration für die Remotestatusverwaltung bereit. Siehe state.remote.

state.remote

Eigentum Erforderlich Art Beschreibung
backend Y Schnur Der Back-End-Typ des Remotezustands. Standardwert: AzureBlobStorage. Zulässige Werte: AzureBlobStorage.
config Conditional Objekt Back-End-spezifische Konfiguration. Erforderlich, wenn backend gleich AzureBlobStorage ist. Siehe Azure Blob Storage-Konfiguration.

Azure Blob Storage-Konfiguration

Eigentum Erforderlich Art Beschreibung
accountName Y Schnur Der Name des Azure Storage-Kontos.
containerName N Schnur Der Name des Azure Storage-Containers. Wenn nicht angegeben, wird standardmäßig der Projektname angegeben.
endpoint N Schnur Der Azure Storage-Endpunkt. Standardwert: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(Objekt) Bietet zusätzliche Konfiguration für plattformspezifische Features wie Azure Dev Center.

Eigentum Erforderlich Art Beschreibung
type Y Schnur Der Plattformtyp. Zulässige Werte: devcenter.
config N Objekt Plattformspezifische Konfiguration. Siehe Dev Center-Konfiguration.

Dev Center-Konfiguration

Verfügbar, wenntype:devcenter

Eigentum Erforderlich Art Beschreibung
name N Schnur Der Name des Azure Dev Center. Wird als Standard dev Center für dieses Projekt verwendet.
project N Schnur Der Name des Azure Dev Center-Projekts.
catalog N Schnur Der Name des Azure Dev Center-Katalogs.
environmentDefinition N Schnur Der Name der Dev Center-Katalogumgebungsdefinition.
environmentType N Schnur Der Dev Center-Projektumgebungstyp, der für die Bereitstellungsumgebung verwendet wird.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(Objekt) Stellt zusätzliche Konfiguration für Workflows bereit, z. B. das Außerkraftsetzungsverhalten azd up .

Eigentum Erforderlich Art Beschreibung
up N Objekt oder Array Wenn angegeben, überschreibt das Standardverhalten für den azd up Workflow.

Workflowschritte

Der up Workflow akzeptiert ein steps Array (oder kann direkt als Array angegeben werden). Jeder Schritt führt einen azd Befehl aus.

Eigentum Erforderlich Art Beschreibung
azd Y Zeichenfolge oder Objekt Der azd auszuführende Befehl. Kann eine Zeichenfolge (z. B provision. ) oder ein Objekt mit einem args Array sein.

Konfigurieren der Workflowschrittreihenfolge

Die folgende azure.yaml Datei ändert das Standardverhalten, azd up um den azd package Schritt nach dem azd provision Schritt zu verschieben. Verwenden Sie diesen Ansatz in Szenarien, in denen Sie die URLs von Ressourcen während des Build- oder Verpackungsprozesses kennen müssen.

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

cloud

(Objekt) Stellt zusätzliche Konfiguration für die Bereitstellung in souveränen Clouds wie Azure Government bereit. Die Standardcloud ist AzureCloud.

Eigentum Erforderlich Art Beschreibung
name N Schnur Der Name der Cloudumgebung. Zulässige Werte: AzureCloud, AzureChinaCloud und AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Anfordern von Hilfe

Informationen zum Ablegen eines Fehlers, Anfordern von Hilfe oder Vorschlagen eines neuen Features für die Azure Developer CLI finden Sie auf der Seite Problembehandlung und Support.

Nächste Schritte