Referenční informace ke schématu Azure Developer CLI

Soubor azure.yaml je konfigurační soubor pro projekty Azure Developer CLI (azd). Umístěte ho do kořenového adresáře projektu a definujte služby, prostředky Azure, infrastrukturu, hooky a kanál CI/CD, který tvoří vaši aplikaci. Když spustíte příkazy, jako je azd up, azd provisionnebo azd deploy, rozhraní příkazového řádku přečte tento soubor, abyste porozuměli struktuře vaší aplikace a tomu, jak ho nasadit do Azure.

Tento článek obsahuje úplný přehled schématu azure.yaml. Přehled azd najdete v tématu Začínáme se šablonami.

Ukázka

Následuje obecný příklad azure.yaml souboru pro azd šablonu. Příklad z reálného světa najdete v azure.yamlšabloně Mongo ToDo NodeJs:

name: yourApp
metadata:
  template: yourApp@0.0.1-beta
services:
  web:
    project: ./src/web
    dist: build
    language: js
    host: appservice
  api:
    project: ./src/api
    language: js
    host: appservice

Vlastnosti nejvyšší úrovně

Název elementu Požadovaný Typ Popis
name Y řetězec Název aplikace. Jsou povolena pouze malá písmena, číslice a pomlčky (-). Název musí začínat a končit písmenem nebo číslem.
resourceGroup N řetězec Název skupiny prostředků Azure Po zadání přepíše název skupiny prostředků použitý ke zřizování infrastruktury. Podporuje nahrazení proměnných prostředí.
metadata N objekt Metadata o šabloně aplikace
infra N objekt Poskytuje další konfiguraci zřizování infrastruktury Azure.
services N objekt Definice služeb, které tvoří aplikaci
resources N objekt Definice prostředků Azure používaných aplikací
pipeline N objekt Definice kanálu kontinuální integrace
hooks N objekt Háky azd na úrovni příkazů
requiredVersions N objekt Poskytuje další konfiguraci pro požadované verze azd a rozšíření.
state N objekt Poskytuje další konfiguraci pro správu stavu.
platform N objekt Poskytuje další konfiguraci pro funkce specifické pro platformu, jako je Azure Dev Center.
workflows N objekt Poskytuje další konfiguraci pracovních postupů, jako je například přepsání azd up chování.
cloud N objekt Poskytuje další konfiguraci pro nasazení do suverénních cloudů. Výchozí cloud je AzureCloud.

name

(řetězec, povinné) Název aplikace. Jsou povolena pouze malá písmena, číslice a pomlčky (-). Název musí začínat a končit písmenem nebo číslem. Minimální délka: 2 znaky.

name: my-app

resourceGroup

(řetězec) Název skupiny prostředků Azure. Po zadání přepíše název skupiny prostředků použitý ke zřizování infrastruktury. Podporuje nahrazení proměnných prostředí. Musí mít délku 3 až 64 znaků.

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

metadata

(objekt) Metadata o šabloně aplikace

Vlastnictví Požadovaný Typ Popis
template N řetězec Identifikátor šablony, ze které byla aplikace vytvořena.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(objekt) Poskytuje další konfiguraci zřizování infrastruktury Azure.

Vlastnictví Požadovaný Typ Popis
provider N řetězec Poskytovatel zřizování infrastruktury, který se používá ke zřízení prostředků Azure pro aplikaci. Výchozí hodnota: bicep. Povolené hodnoty: bicep, terraform.
path N řetězec Relativní cesta ke složce k šablonám zřizování Azure pro zadaného poskytovatele. Výchozí hodnota: infra.
module N řetězec Název výchozího modulu v rámci šablon zřizování Azure Výchozí hodnota: main.
layers N pole Vrstvy pro zřizování infrastruktury Azure Viz infra.layers.

Note

Pokud layers je zadána alespoň jedna položka, path nelze použít vlastnosti a module vlastnosti. Místo toho použijte hodnoty specifické pro path vrstvu a module hodnoty.

infra.layers

(pole objektů) Definuje vrstvy zřizování pro infrastrukturu Azure. Každá vrstva představuje nezávislou jednotku zřizování.

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název vrstvy zřizování
path Y řetězec Relativní cesta ke složce k šablonám zřizování Azure pro zadaného poskytovatele.
module N řetězec Název modulu zřizování Azure, který se používá při zřizování prostředků. Výchozí hodnota: main.
dependsOn N pole řetězců Názvy dalších vrstev, na které tato vrstva závisí. Slouží k deklaraci závislostí zprostředkovaných pomocí háku (například když postprovision háček v jiné vrstvě zapíše env var, který bicepparam této vrstvy čte v době zřizování), který azdstatický analyzátor nedokáže odvodit z.parameters.json.bicep / .bicepparam / obsahu.
hooks N objekt Zřizování háků vrstvy Podporuje preprovision a postprovision háky. Při zadávání cest by měly být relativní vzhledem k cestě vrstvy. Viz definice hooku.
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

Ukázka zprostředkovatele Terraformu jako IaC

Pokud chcete místo Bicep použít Terraform, nastavte provider hodnotu na terraformhodnotu . Další informace najdete v tématu Použití Terraformu jako poskytovatele IaC.

name: yourApp-terraform
metadata:
  template: yourApp-terraform@0.0.1-beta
services:
  web:
    project: ./src/web
    dist: build
    language: js
    host: appservice
  api:
    project: ./src/api
    language: js
    host: appservice
infra:
  provider: terraform

services

(objekt) Definice služeb, které tvoří aplikaci. Každý klíč je název služby a hodnota je objekt konfigurace služby.

Vlastnosti služby

Vlastnictví Požadovaný Typ Popis
host Y řetězec Typ prostředku Azure, který se používá k implementaci služby. Viz typy hostitelů.
project Conditional řetězec Cesta k adresáři zdrojového kódu služby Vyžaduje se pro většinu typů hostitelů.
image Conditional řetězec Zdrojová image, která se má použít pro image kontejneru místo vytváření ze zdroje. Podporuje nahrazení proměnných prostředí. Platí pouze pro containerapp hostitele.
language N řetězec Jazyk implementace služby. Povolené hodnoty: dotnet, csharp, fsharp, py, , python, js, ts, , java. docker
module N řetězec Cesta modulu infrastruktury použitého k nasazení služby vzhledem ke kořenové složce infrastruktury Pokud tento parametr vynecháte, rozhraní příkazového řádku předpokládá, že název modulu je stejný jako název služby.
dist N řetězec Relativní cesta k artefaktům nasazení služby
resourceName N řetězec Název prostředku Azure, který implementuje službu. Ve výchozím nastavení rozhraní příkazového řádku zjistí prostředek Azure se značkou azd-service-name nastavenou na název aktuální služby. Podporuje nahrazení proměnných prostředí.
resourceGroup N řetězec Název skupiny prostředků Azure, která prostředek obsahuje. Po zadání rozhraní příkazového řádku najde prostředek Azure v zadané skupině prostředků. Podporuje nahrazení proměnných prostředí.
remoteBuild N boolean Určuje, jestli se má použít vzdálené sestavení pro nasazení aplikace funkcí. Platné pouze v případech, kdy host je function. Při nastavení truese balíček pro nasazení sestaví vzdáleně pomocí Oryxu. Výchozí hodnota true je pro aplikace funkcí JavaScriptu, TypeScriptu a Pythonu.
docker N objekt Konfigurace Dockeru Platí pouze pro hostitele založené na kontejnerech. Viz docker.
k8s N objekt Možnosti konfigurace AKS Platné pouze v případech, kdy host je aks. Viz k8s.
config N objekt Další možnosti konfigurace pro službu.
uses N pole Seznam názvů služeb a názvů prostředků, na které tato služba závisí.
env N objekt Mapa názvů proměnných prostředí na hodnoty Podporuje nahrazení proměnných prostředí.
apiVersion N řetězec Verze rozhraní API poskytovatele prostředků pro nasazení Platné pouze v případech, kdy host je containerapp.
hooks N objekt Háky na úrovni služeb. Viz háky služby.

Tip

Kompletní příklady konfigurace služeb najdete v ukázkách služeb pro kompletní příklady YAML.

Typy hostitelů

Vlastnost host určuje typ prostředku Azure používaného pro implementaci služby a řídí, které další vlastnosti jsou platné.

Hodnota hostitele Popis Požaduje project Podporuje image Podporuje docker Podporuje k8s Podporuje env Podporuje apiVersion
appservice Azure App Service Y N N N N N
containerapp Azure Container Apps project nebo image (ne obojí) Y Y N Y Y
function Azure Functions Y N N N N N
staticwebapp Azure Static Web Apps 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 Online koncový bod Azure AI Y N Y N N N
azure.ai.agent Azure agent AI Y N Y N N N

Note

springapp podpora vyžaduje souhlas s alfa funkcemi. Další informace najdete v tématu Alfa funkce.

Note

Pokud host je containerapp, musíte zadat buď image nebo project, ale ne obojí. Pokud image je nastavená, kontejner se nasadí ze zadané image. Pokud project je nastavená, image kontejneru se sestaví ze zdroje.

ai.endpoint Config

(objekt, povinné, pokud host je ai.endpoint) Poskytuje další konfiguraci pro nasazení online koncového bodu Azure AI.

Vlastnictví Požadovaný Typ Popis
workspace N řetězec Název pracovního prostoru projektu AI Studio. Pokud tento parametr vynecháte, azd použije hodnotu zadanou AZUREAI_PROJECT_NAME v proměnné prostředí. Podporuje nahrazení proměnných prostředí.
flow N objekt Konfigurace toku výzvy azure AI Studia. Po vynechání se nevytvořil tok výzvy. Viz konfigurace komponenty AI.
environment N objekt Konfigurace vlastního prostředí Azure AI Studio. Pokud toto vynecháte, vlastní prostředí se nevytvořilo. Viz konfigurace komponenty AI.
model N objekt Konfigurace modelu Azure AI Studio Pokud ho vynecháte, model se nevytvořil. Viz konfigurace komponenty AI.
deployment Y objekt Konfigurace nasazení online koncového bodu Azure AI Studio. Vytvoří se nové nasazení online koncového bodu a provoz se po úspěšném dokončení automaticky přesune do nového nasazení. Viz konfigurace nasazení AI.

Note

Pokud host je , a to ai.endpointjak project a config jsou povinné. Viz ai.endpoint konfigurace požadovaných vlastností konfigurace.

Konfigurace komponenty AI
Vlastnictví Požadovaný Typ Popis
name N řetězec Název komponenty AI. Pokud tento parametr vynecháte, azd vygeneruje název na základě typu komponenty a názvu služby. Podporuje nahrazení proměnných prostředí.
path Y řetězec Cesta ke konfiguračnímu souboru komponenty AI nebo zdrojovému kódu.
overrides N objekt Mapa párů klíč-hodnota použitá k přepsání konfigurace komponenty AI Podporuje nahrazení proměnných prostředí.
Konfigurace nasazení AI

Dědí všechny vlastnosti z konfigurace komponenty AI a navíc:

Vlastnictví Požadovaný Typ Popis
environment N objekt Mapa párů klíč/hodnota, které se mají nastavit jako proměnné prostředí pro nasazení. Hodnoty podporují nahrazení operačního systému a azd proměnných prostředí.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(objekt) Konfigurace Dockeru pro službu Platí pouze pro hostitele, kteří podporují kontejnery (containerapp, aks, ai.endpoint, azure.ai.agent).

Vlastnictví Požadovaný Typ Popis
path N řetězec Cesta k souboru Dockerfile vzhledem k vaší službě. Výchozí hodnota: ./Dockerfile.
context N řetězec Kontext sestavení Dockeru. Po zadání přepíše výchozí kontext. Výchozí hodnota: ..
platform N řetězec Cíl platformy. Výchozí hodnota: amd64.
registry N řetězec Registr kontejneru pro nasdílení image. Pokud je tato hodnota vynechána, nastaví se výchozí hodnota AZURE_CONTAINER_REGISTRY_ENDPOINT proměnné prostředí. Podporuje nahrazení proměnných prostředí.
image N řetězec Název použitý pro sestavenou image kontejneru. Pokud tento parametr vynecháte, výchozí hodnota {appName}/{serviceName}-{environmentName}je . Podporuje nahrazení proměnných prostředí.
tag N řetězec Značka, která se použije na sestavenou image kontejneru. Pokud tento parametr vynecháte, výchozí hodnota azd-deploy-{unix time (seconds)}je . Podporuje nahrazení proměnných prostředí.
buildArgs N pole řetězců Vytvořte argumenty pro předání příkazu docker buildu.
network N řetězec Režim sítě pro příkaz RUN během sestavení Dockeru. Předáno jako --network docker build. Můžete například povolit host kontejneru sestavení přístup k hostitelské síti.
remoteBuild N boolean Zda se má image sestavit vzdáleně. Pokud je nastavená hodnota true, image se sestaví vzdáleně pomocí funkce vzdáleného sestavení služby Azure Container Registry. Pokud se vzdálené sestavení nezdaří, azd automaticky se vrátí do sestavení místně pomocí Dockeru nebo Podmana, pokud je k dispozici.

k8s

(objekt) Možnosti konfigurace Služby Azure Kubernetes Service (AKS). Platné pouze v případech, kdy host je aks.

Vlastnictví Požadovaný Typ Popis
deploymentPath N řetězec Relativní cesta z cesty služby k manifestům nasazení k8s. Výchozí hodnota: manifests.
namespace N řetězec Obor názvů k8s nasazených prostředků. Po zadání se vytvoří nový obor názvů k8s, pokud ještě neexistuje. Výchozí hodnota: název projektu.
deployment N objekt Konfigurace nasazení k8s. Viz Konfigurace nasazení.
service N objekt Konfigurace služby k8s. Viz Konfigurace služby.
ingress N objekt Konfigurace příchozího přenosu dat k8s. Viz konfigurace příchozího přenosu dat.
helm N objekt Konfigurace helmu. Viz konfigurace Helmu.
kustomize N objekt Konfigurace kustomize. Viz konfigurace Kustomize.
Konfigurace nasazení
Vlastnictví Požadovaný Typ Popis
name N řetězec Název prostředku nasazení k8s, který se má použít během nasazení. Pokud není nastavená, vyhledá prostředek nasazení ve stejném oboru názvů, který obsahuje název služby. Výchozí hodnota: název služby.
Konfigurace služby
Vlastnictví Požadovaný Typ Popis
name N řetězec Název prostředku služby k8s, který se má použít jako výchozí koncový bod služby. Pokud není nastavená, vyhledá prostředek služby ve stejném oboru názvů, který obsahuje název služby. Výchozí hodnota: název služby.
Konfigurace příchozího přenosu dat
Vlastnictví Požadovaný Typ Popis
name N řetězec Název prostředku příchozího přenosu dat k8s, který se má použít jako výchozí koncový bod služby. Pokud není nastavená, vyhledá prostředek příchozího přenosu dat ve stejném oboru názvů, který obsahuje název služby. Výchozí hodnota: název služby.
relativePath N řetězec Relativní cesta ke službě z kořenového adresáře kontroleru příchozího přenosu dat. Při nastavení se připojí ke kořenovému adresáři cesty prostředku příchozího přenosu dat.
Konfigurace Helmu
Vlastnictví Požadovaný Typ Popis
repositories N pole Úložiště Helm, která chcete přidat.
releases N pole Helm vydá k instalaci.

repositories položky pole:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název úložiště Helm.
url Y řetězec Adresa URL úložiště Helm.

releases položky pole:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název verze helmu.
chart Y řetězec Název chartu Helm.
version N řetězec Verze chartu Helm.
namespace N řetězec Obor názvů k8s pro instalaci chartu Helm. Výchozí hodnota je obor názvů služby.
values N řetězec Relativní cesta ze služby do values.yaml chartu Helm.
Konfigurace Kustomize
Vlastnictví Požadovaný Typ Popis
dir N řetězec Relativní cesta k adresáři kustomize. Podporuje nahrazení proměnných prostředí.
edits N pole řetězců Úpravy kustomize, které se mají použít před nasazením. Podporuje nahrazení proměnných prostředí.
env N objekt Páry klíč/hodnota prostředí používané k vygenerování .env souboru v adresáři kustomize. Hodnoty podporují nahrazení proměnných prostředí.

Servisní háky

Volání na úrovni služeb se spouští během událostí životního cyklu služby. Háky by měly odpovídat názvům událostí služby s předponou pre nebo post. Při zadávání cest by měly být relativní vzhledem k cestě služby. Další podrobnosti najdete v tématu Přizpůsobení pracovních postupů Azure Developer CLI pomocí příkazů a háků událostí.

Podporované háky služeb: , , , prerestorepostrestoreprebuild, postbuild, , prepackagepostpackage, prepublish, . postpublishpredeploypostdeploy

Každý háček používá formát definice hooku .

Ukázky služeb

Container Apps s možnostmi Dockeru
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 z předem připravené image
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
AKS s háky na úrovni služeb
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) Definice prostředků Azure používaných aplikací Každý klíč je název prostředku a hodnota je objekt konfigurace prostředku. Na prostředky můžou odkazovat služby prostřednictvím uses vlastnosti.

Běžné vlastnosti prostředků

Vlastnictví Požadovaný Typ Popis
type Y řetězec Typ prostředků. Viz typy prostředků.
uses N pole Další prostředky, na které tento prostředek závisí.
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

Tip

Podívejte se na ukázku prostředků pro kompletní příklad YAML, který kombinuje více typů prostředků.

Typy zdrojů

Vlastnost type určuje druh prostředku Azure a určuje, které další vlastnosti jsou k dispozici.

Hodnota typu Popis Další vlastnosti
host.appservice Webová aplikace Azure App Service Zobrazit host.appservice vlastnosti.
host.containerapp Aplikace kontejneru založená na Dockeru Zobrazit host.containerapp vlastnosti.
ai.openai.model Nasazený model AI připravený k použití Zobrazit ai.openai.model vlastnosti.
ai.project Projekt Microsoft Foundry s modely Zobrazit ai.project vlastnosti.
ai.search Azure AI Vyhledávač Zobrazit ai.search vlastnosti.
db.postgres Azure Database for PostgreSQL Žádné další vlastnosti.
db.mysql Azure Database for MySQL Žádné další vlastnosti.
db.redis Azure Cache for Redis Žádné další vlastnosti.
db.mongo Azure Cosmos DB for MongoDB Žádné další vlastnosti.
db.cosmos Azure Cosmos DB for NoSQL Zobrazit db.cosmos vlastnosti.
messaging.eventhubs Jmenný prostor Azure Event Hubs Zobrazit messaging.eventhubs vlastnosti.
messaging.servicebus Obor názvů služby Azure Service Bus Zobrazit messaging.servicebus vlastnosti.
storage Účet služby Azure Storage Zobrazit storage vlastnosti.
keyvault Azure Key Vault Zobrazit keyvault vlastnosti.

host.appservice vlastnosti

Vlastnictví Požadovaný Typ Popis
port N integer Port, na který webová aplikace naslouchá. Výchozí hodnota: 80.
runtime Y objekt Konfigurace modulu runtime jazyka. Viz níže.
env N pole Proměnné prostředí. Každá položka má name (povinné) valuea secret vlastnosti. Podporuje nahrazení proměnných prostředí.
startupCommand N řetězec Spouštěcí příkaz, který se spouští jako součást spuštění webové aplikace.
uses N pole řetězců Další prostředky, které tento prostředek používá.

runtime Objekt:

Vlastnictví Požadovaný Typ Popis
stack Y řetězec Zásobník modulu runtime jazyka. Povolené hodnoty: node, python.
version Y řetězec Verze modulu runtime jazyka. Formát se liší podle zásobníku (například 22-lts pro Node, 3.13 for Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp vlastnosti

Vlastnictví Požadovaný Typ Popis
port N integer Port, na který aplikace kontejneru naslouchá. Výchozí hodnota: 80.
env N pole Proměnné prostředí. Každá položka má name (povinné) valuea secret vlastnosti. Podporuje nahrazení proměnných prostředí.
uses N pole řetězců Další prostředky, které tento prostředek používá.

ai.openai.model vlastnosti

Vlastnictví Požadovaný Typ Popis
model Conditional objekt Základní model AI. Vyžaduje se, pokud existing je false.
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

model Objekt:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název modelu AI.
version Y řetězec Verze modelu AI.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

ai.project vlastnosti

Vlastnictví Požadovaný Typ Popis
models N pole Modely AI, které se mají nasadit jako součást projektu AI.
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

models položky pole:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název modelu AI.
version Y řetězec Verze modelu AI.
format Y řetězec Formát modelu AI (například Microsoft, OpenAI).
sku Y objekt Konfigurace skladové položky pro model AI.

sku Objekt:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název skladové položky (například GlobalStandard).
usageName Y řetězec Název skladové položky pro účely fakturace (například OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y integer Kapacita skladové položky.

ai.search vlastnosti

Vlastnictví Požadovaný Typ Popis
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

db.cosmos vlastnosti

Vlastnictví Požadovaný Typ Popis
containers N pole Kontejnery pro ukládání dat. Každý kontejner ukládá kolekci položek.

containers položky pole:

Vlastnictví Požadovaný Typ Popis
name Y řetězec Název kontejneru.
partitionKeys Y pole Klíče oddílů používané k distribuci dat mezi oddíly. Maximálně 3 klíče. Výchozí hodnota: /id.

messaging.eventhubs vlastnosti

Vlastnictví Požadovaný Typ Popis
hubs N pole řetězců Názvy center, které se mají vytvořit v oboru názvů služby Event Hubs
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

messaging.servicebus vlastnosti

Vlastnictví Požadovaný Typ Popis
queues N pole řetězců Názvy front, které se mají vytvořit v oboru názvů služby Service Bus.
topics N pole řetězců Názvy témat, které se mají vytvořit v oboru názvů služby Service Bus
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

storage vlastnosti

Vlastnictví Požadovaný Typ Popis
containers N pole řetězců Názvy kontejnerů účtu služby Azure Storage
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

keyvault vlastnosti

Vlastnictví Požadovaný Typ Popis
existing N boolean Pokud je tento prostředek nastavený na truehodnotu , není vytvořen a místo toho se používá pro odkazování na účely. Výchozí hodnota: false.

Ukázka prostředků

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) Definice kanálu kontinuální integrace.

Vlastnictví Požadovaný Typ Popis
provider N řetězec Poskytovatel kanálu, který se má použít pro kontinuální integraci. Výchozí hodnota: github. Povolené hodnoty: github, azdo.
variables N pole řetězců Seznam proměnných azd prostředí, které se mají použít v kanálu jako proměnné
secrets N pole řetězců Seznam proměnných azd prostředí, které se mají použít v kanálu jako tajné kódy
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(objekt) Háky na úrovni příkazů. Háky by měly odpovídat názvům příkazů azd s předponou pre nebo post v závislosti na tom, kdy se má skript spustit. Při zadávání cest by měly být relativní vzhledem k cestě projektu. Další podrobnosti najdete v tématu Přizpůsobení pracovních postupů Azure Developer CLI pomocí příkazů a háků událostí.

Podporované příkazové háky: preprovision, postprovision, preinfracreatepostinfracreatepreinfradeletepostinfradeletepredown, , postdownpreuppostupprepackagepostpackageprepublishpostpublishpredeploypostdeployprerestorepostrestore

Každý háček používá formát definice hooku .

Tip

Podívejte se na ukázky Hooku pro kompletní příklady YAML, včetně háků specifických pro platformu, typed exekutorů a více háků na událost.

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

Definice háku

Háček může být jeden objekt háku nebo pole objektů háku. Každý objekt háku má následující vlastnosti:

Vlastnictví Požadovaný Typ Popis
run Conditional řetězec Vložený skript nebo relativní cesta skriptu. Požadováno při zadávání shell, , kinddirinteractivecontinueOnError, secrets, nebo .config Při zadávání vloženého skriptu musíte také zadat, který shell se má použít. Prostředí se při použití cest k souborům automaticky odvodí.
shell N řetězec Typ prostředí pro spouštění skriptů Výchozí hodnota: sh. Povolené hodnoty: sh, pwsh.
kind N řetězec Druh exekutoru pro skript háku. Pokud tento parametr vynecháte, typ se automaticky zjistí z přípony run souboru cesty (například .py se stane , python stane .ps1pwshse ). Povolené hodnoty: sh, pwsh, js, ts, python, dotnet.
dir N řetězec Pracovní adresář pro spuštění háku Používá se jako kořen projektu pro instalaci závislostí a jako pracovní adresář při spuštění skriptu. Relativní cesty se přeloží z kořenového adresáře projektu nebo služby. Pokud tento parametr vynecháte, použije se výchozí hodnota adresáře obsahujícího soubor skriptu.
continueOnError N boolean Určuje, jestli se chyba skriptu zastaví azd . Výchozí hodnota: false.
interactive N boolean Určuje, zda skript běží v interaktivním režimu, vazby na stdin, stdouta stderr spuštěné konzoly. Výchozí hodnota: false.
windows N objekt Po zadání přepíše konfiguraci háku při spuštění v prostředích Windows. Používá stejný formát objektu háku.
posix N objekt Po zadání přepíše konfiguraci háku při spuštění v prostředích POSIX (Linux a macOS). Používá stejný formát objektu háku.
secrets N objekt Mapa proměnných prostředí pro připojení tajných azd kódů Pokud byla proměnná nastavena jako tajný kód v prostředí, předá se do háku hodnota tajného kódu.
config N objekt Konfigurace specifická pro exekutor Dostupné vlastnosti závisí na hodnotě kind . Viz Konfigurace exekutoru Hook.

Note

Pokud jsou zadány obě windows a jsou zadányposix, nelze použít , , runshellkinddirinteractivecontinueOnErrora secrets vlastnosti na nejvyšší úrovni.config Místo toho použijte objekty specifické pro platformu.

Konfigurace exekutoru hooku

Vlastnost config přijímá různé vlastnosti v závislosti na hodnotě kind .

Konfigurace JavaScriptu a TypeScriptu (js, ts)

Vlastnictví Požadovaný Typ Popis
packageManager N řetězec Správce balíčků, který se má použít pro instalaci závislostí. Přepíše automatickou detekci ze zamčených souborů. Povolené hodnoty: npm, pnpm, yarn.

Konfigurace Pythonu

Vlastnictví Požadovaný Typ Popis
virtualEnvName N řetězec Název adresáře pro virtuální prostředí Pythonu. Výchozí hodnota automatické detekce (.venv, venv) nebo {baseName}_env.

Konfigurace .NET (dotnet)

Vlastnictví Požadovaný Typ Popis
configuration N řetězec Konfigurace nástroje MSBuild pro sestavení skriptu háku (například Debug, Release).
framework N řetězec Moniker cílové architektury pro sestavení a spuštění skriptu hooku (například net8.0, net10.0).

Konfigurace prostředí (sh, pwsh)

Exekutory prostředí v současné době nepodporují config vlastnosti.

Ukázky háku

Háky specifické pro platformu

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

Háček Pythonu s druhem

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

Několik háků pro jednu událost

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

requiredVersions

(objekt) Poskytuje další konfiguraci pro požadované verze azd a rozšíření.

Vlastnictví Požadovaný Typ Popis
azd N řetězec Rozsah podporovaných verzí azd pro tento projekt. Pokud je verze azd mimo tento rozsah, projekt se nepodaří načíst. Podporuje syntaxi rozsahu semver.
extensions N objekt Mapa požadovaných rozšíření a omezení verzí pro tento projekt Podporuje omezení semveru. Pokud je tato verze vynechána, nainstaluje se nejnovější verze.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(objekt) Poskytuje další konfiguraci pro správu stavu.

Vlastnictví Požadovaný Typ Popis
remote N objekt Poskytuje další konfiguraci pro vzdálenou správu stavu. Viz state.remote.

state.remote

Vlastnictví Požadovaný Typ Popis
backend Y řetězec Typ back-endu vzdáleného stavu. Výchozí hodnota: AzureBlobStorage. Povolené hodnoty: AzureBlobStorage.
config Conditional objekt Konfigurace specifická pro back-end. Vyžaduje se, pokud backend je AzureBlobStorage. Viz konfigurace služby Azure Blob Storage.

Konfigurace služby Azure Blob Storage

Vlastnictví Požadovaný Typ Popis
accountName Y řetězec Název účtu Azure Storage.
containerName N řetězec Název kontejneru Azure Storage. Pokud není zadán název projektu, nastaví se výchozí hodnota.
endpoint N řetězec Koncový bod služby Azure Storage. Výchozí hodnota: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(objekt) Poskytuje další konfiguraci pro funkce specifické pro platformu, jako je Azure Dev Center.

Vlastnictví Požadovaný Typ Popis
type Y řetězec Typ platformy. Povolené hodnoty: devcenter.
config N objekt Konfigurace specifická pro platformu. Viz konfigurace Dev Center.

Konfigurace Dev Center

K dispozici, pokud type je devcenter:

Vlastnictví Požadovaný Typ Popis
name N řetězec Název Azure Dev Center. Používá se jako výchozí centrum pro vývoj pro tento projekt.
project N řetězec Název projektu Azure Dev Center.
catalog N řetězec Název katalogu Azure Dev Center.
environmentDefinition N řetězec Název definice prostředí katalogu Dev Center.
environmentType N řetězec Typ prostředí projektu Dev Center používaný pro prostředí nasazení.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(objekt) Poskytuje další konfiguraci pracovních postupů, jako je například přepsání azd up chování.

Vlastnictví Požadovaný Typ Popis
up N objekt nebo pole Po zadání přepíše výchozí chování pracovního azd up postupu.

Kroky pracovního postupu

Pracovní up postup přijímá steps pole (nebo ho lze zadat přímo jako pole). Každý krok spustí azd příkaz.

Vlastnictví Požadovaný Typ Popis
azd Y řetězec nebo objekt Příkaz azd , který se má provést. Může to být řetězec (například provision) nebo objekt s polem args .

Konfigurace pořadí kroků pracovního postupu

Následující azure.yaml soubor změní výchozí chování azd up přesunutí azd package kroku za azd provision krokem. Tento přístup použijte ve scénářích, kdy potřebujete znát adresy URL prostředků během procesu sestavení nebo balení.

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) Poskytuje další konfiguraci pro nasazení do suverénních cloudů, jako je Azure Government. Výchozí cloud je AzureCloud.

Vlastnictví Požadovaný Typ Popis
name N řetězec Název cloudového prostředí. Povolené hodnoty: AzureCloud, AzureChinaCloud, AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Požádat o pomoc

Informace o tom, jak vytvořit chybu, požádat o pomoc nebo navrhnout novou funkci pro Azure Developer CLI, najdete na stránce řešení potíží a podpory.

Další kroky