Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.