Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
File azure.yaml adalah file konfigurasi untuk proyek Azure Developer CLI (azd). Letakkan di akar proyek Anda untuk menentukan layanan, sumber daya Azure, infrastruktur, kait, dan alur CI/CD yang membentuk aplikasi Anda. Saat Anda menjalankan perintah seperti azd up, , azd provisionatau azd deploy, CLI membaca file ini untuk memahami struktur aplikasi Anda dan cara menyebarkannya ke Azure.
Artikel ini adalah referensi lengkap untuk skema azure.yaml. Untuk memulai azd templat, lihat Gambaran umum templat Azure Developer CLI.
Contoh
Berikut ini adalah contoh azure.yaml umum file untuk azd templat. Untuk contoh dunia nyata, lihat azure.yaml dari templat ToDo NodeJs Mongo:
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
Properti tingkat atas
| Nama Elemen | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama aplikasi. Hanya huruf kecil, angka, dan tanda hubung (-) yang diizinkan. Nama harus dimulai dan diakhir dengan huruf atau angka. |
resourceGroup |
N | string | Nama grup sumber daya Azure. Jika ditentukan, ambil alih nama grup sumber daya yang digunakan untuk provisi infrastruktur. Mendukung substitusi variabel lingkungan. |
metadata |
N | objek | Metadata tentang templat aplikasi. |
infra |
N | objek | Menyediakan konfigurasi tambahan untuk provisi infrastruktur Azure. |
services |
N | objek | Definisi layanan yang terdiri dari aplikasi. |
resources |
N | objek | Definisi sumber daya Azure yang digunakan oleh aplikasi. |
pipeline |
N | objek | Definisi alur integrasi berkelanjutan. |
hooks |
N | objek | Kait tingkat perintah untuk azd perintah. |
requiredVersions |
N | objek | Menyediakan konfigurasi tambahan untuk versi azd ekstensi dan yang diperlukan. |
state |
N | objek | Menyediakan konfigurasi tambahan untuk manajemen status. |
platform |
N | objek | Menyediakan konfigurasi tambahan untuk fitur khusus platform seperti Azure Dev Center. |
workflows |
N | objek | Menyediakan konfigurasi tambahan untuk alur kerja seperti perilaku penimpaan azd up . |
cloud |
N | objek | Menyediakan konfigurasi tambahan untuk menyebarkan ke sovereign cloud. Cloud defaultnya adalah AzureCloud. |
name
(string, diperlukan) Nama aplikasi. Hanya huruf kecil, angka, dan tanda hubung (-) yang diizinkan. Nama harus dimulai dan diakhir dengan huruf atau angka. Panjang minimum: 2 karakter.
name: my-app
resourceGroup
(string) Nama grup sumber daya Azure. Jika ditentukan, ambil alih nama grup sumber daya yang digunakan untuk provisi infrastruktur. Mendukung substitusi variabel lingkungan. Harus antara 3 dan 64 karakter.
resourceGroup: rg-my-app-${AZURE_ENV_NAME}
metadata
(objek) Metadata tentang templat aplikasi.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
template |
N | string | Pengidentifikasi templat tempat aplikasi dibuat. |
metadata:
template: todo-nodejs-mongo@0.0.1-beta
infra
(objek) Menyediakan konfigurasi tambahan untuk provisi infrastruktur Azure.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
provider |
N | string | Penyedia provisi infrastruktur yang digunakan untuk menyediakan sumber daya Azure untuk aplikasi. Nilai bawaan adalah bicep dan terraform. Ekstensi dapat mendaftarkan penyedia bernama tambahan (misalnya, microsoft.foundry). Standar: bicep. |
path |
N | string | Jalur folder relatif ke templat provisi Azure untuk penyedia yang ditentukan. Standar: infra. |
module |
N | string | Nama modul default dalam templat provisi Azure. Standar: main. |
layers |
N | array | Lapisan untuk provisi infrastruktur Azure. Lihat infra.layers. |
Nota
Ketika layers ditentukan dengan setidaknya satu item, path properti dan module tidak dapat digunakan. Gunakan nilai dan path khusus module lapisan sebagai gantinya.
infra.layers
(array objek) Menentukan lapisan provisi untuk infrastruktur Azure. Setiap lapisan mewakili unit provisi independen.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama lapisan provisi. |
path |
Y | string | Jalur folder relatif ke templat provisi Azure untuk penyedia yang ditentukan. |
module |
N | string | Nama modul provisi Azure yang digunakan saat menyediakan sumber daya. Standar: main. |
dependsOn |
N | kumpulan string | Nama lapisan lain yang bergantung pada lapisan ini. Gunakan untuk mendeklarasikan dependensi yang dimediasi kait (misalnya, ketika kait postprovision di lapisan lain menulis var env yang dibaca bicepparam lapisan ini pada waktu provisi) bahwa azd'penganalisis statis tidak dapat menyimpulkan dari.bicep / .bicepparam / .parameters.jsonkonten. |
hooks |
N | objek | Kait lapisan provisi.
preprovision Dukungan dan postprovision kait. Saat menentukan jalur, jalur harus relatif terhadap jalur lapisan. Lihat Definisi hook. |
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
Terraform sebagai sampel penyedia IaC
Untuk menggunakan Terraform alih-alih Bicep, atur ke providerterraform. Untuk informasi selengkapnya, lihat Menggunakan Terraform sebagai penyedia 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
(objek) Definisi layanan yang terdiri dari aplikasi. Setiap kunci adalah nama layanan, dan nilainya adalah objek konfigurasi layanan.
Properti layanan
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
host |
Y | string | Jenis sumber daya Azure yang digunakan untuk implementasi layanan. Lihat Jenis host. |
project |
Conditional | string | Jalur ke direktori kode sumber layanan. Diperlukan untuk sebagian besar jenis host. |
image |
Conditional | string | Gambar sumber yang akan digunakan untuk gambar kontainer alih-alih membangun dari sumber. Mendukung substitusi variabel lingkungan. Hanya berlaku untuk containerapp host. |
language |
N | string | Bahasa implementasi layanan. Nilai yang diizinkan: dotnet, , csharpfsharp, py, python, js, ts, java, go, golang, docker. |
module |
N | string | Jalur modul infrastruktur yang digunakan untuk menyebarkan layanan relatif terhadap folder infra akar. Jika dihilangkan, CLI mengasumsikan nama modul sama dengan nama layanan. |
dist |
N | string | Jalur relatif ke artefak penyebaran layanan. |
resourceName |
N | string | Nama sumber daya Azure yang mengimplementasikan layanan. Secara default, CLI menemukan sumber daya Azure dengan tag azd-service-name yang diatur ke nama layanan saat ini. Mendukung substitusi variabel lingkungan. |
resourceGroup |
N | string | Nama grup sumber daya Azure yang berisi sumber daya. Saat ditentukan, CLI menemukan sumber daya Azure dalam grup sumber daya yang ditentukan. Mendukung substitusi variabel lingkungan. |
remoteBuild |
N | Boolean | Apakah akan menggunakan build jarak jauh untuk penyebaran aplikasi fungsi. Hanya valid ketika host adalah function. Saat diatur ke true, paket penyebaran dibangun dari jarak jauh menggunakan Oryx. Default ke true untuk aplikasi fungsi JavaScript, TypeScript, dan Python. |
docker |
N | objek | Konfigurasi Docker. Hanya berlaku untuk host berbasis kontainer. Lihat docker. |
k8s |
N | objek | Opsi konfigurasi AKS. Hanya valid ketika host adalah aks. Lihat k8s. |
config |
N | objek | Opsi konfigurasi tambahan untuk layanan. |
uses |
N | array | Daftar nama layanan dan nama sumber daya yang bergantung pada layanan ini. |
env |
N | objek | Peta nama variabel lingkungan ke nilai. Mendukung substitusi variabel lingkungan. |
apiVersion |
N | string | Versi API penyedia sumber daya untuk penyebaran. Hanya valid ketika host adalah containerapp. |
hooks |
N | objek | Kait tingkat layanan. Lihat Kait layanan. |
Tip
Lihat Sampel layanan untuk contoh YAML lengkap dari konfigurasi layanan yang berbeda.
Jenis host
Properti host menentukan jenis sumber daya Azure yang digunakan untuk implementasi dan kontrol layanan mana properti lain yang valid.
| Nilai host | Deskripsi | Memerlukan project |
Mendukung image |
Mendukung docker |
Mendukung k8s |
Mendukung env |
Mendukung apiVersion |
|---|---|---|---|---|---|---|---|
appservice |
Azure App Service | N | Y | Y | N | Y | N |
containerapp |
Azure Container Apps |
project atau image (tidak keduanya) |
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 |
Titik akhir online Azure AI | Y | N | Y | N | N | N |
azure.ai.agent |
Agen dari Azure AI | Y | Y | Y | N | Y | N |
microsoft.foundry |
Microsoft Foundry (warisan) | N | N | N | N | N | N |
azure.ai.project |
Proyek Microsoft Foundry | N | N | N | N | N | N |
azure.ai.connection |
koneksi Microsoft Foundry | N | N | N | N | N | N |
azure.ai.toolbox |
kotak alat Microsoft Foundry | N | N | N | N | N | N |
azure.ai.skill |
keterampilan Microsoft Foundry | N | N | N | N | N | N |
azure.ai.routine |
rutinitas Microsoft Foundry | N | N | N | N | N | N |
Nota
springapp dukungan memerlukan keikutsertaan ke fitur alfa. Untuk informasi selengkapnya, lihat Fitur alfa.
Nota
Ketika host adalah containerapp, Anda harus menyediakan atau imageproject, tetapi tidak keduanya. Jika image diatur, kontainer disebarkan dari gambar yang ditentukan. Jika project diatur, gambar kontainer dibangun dari sumber.
Nota
Kapan host adalah appservice, Anda dapat menyebarkan dari sumber dengan mengatur project, atau dari kontainer dengan mengatur image dan docker.
Nota
Ketika host adalah azure.ai.agent, config properti tidak digunakan lagi. Pengaturan agen dipindahkan ke tingkat layanan, tetapi bentuk sebelumnya config tetap valid.
Nota
Host microsoft.foundry, , azure.ai.connectionazure.ai.project, azure.ai.toolbox, azure.ai.skilldan azure.ai.routine adalah host sumber daya deklaratif Microsoft Foundry. Anda tidak membangun atau menyebarkan kode aplikasi untuk mereka. Sebaliknya, masing-masing mendeklarasikan sumber daya Foundry pendukung yang azd menyediakan dan mengonfigurasi. Konfigurasi mereka berasal dari ekstensi yang azd sesuai daripada dari kode sumber, sehingga properti seperti project, image, dan docker tidak berlaku. Gunakan azure.ai.project untuk proyek baru; microsoft.foundry adalah host kompatibilitas warisan. Untuk detail properti, lihat host Microsoft Foundry.
ai.endpoint Config
(objek, diperlukan saat host adalah ai.endpoint) Menyediakan konfigurasi tambahan untuk penyebaran titik akhir online Azure AI.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
workspace |
N | string | Nama ruang kerja proyek AI Studio. Saat dihilangkan, azd menggunakan nilai yang ditentukan dalam AZUREAI_PROJECT_NAME variabel lingkungan. Mendukung substitusi variabel lingkungan. |
flow |
N | objek | Konfigurasi Alur Prompt Azure AI Studio. Saat dihilangkan, alur perintah tidak dibuat. Lihat Konfigurasi komponen AI. |
environment |
N | objek | Konfigurasi lingkungan kustom Azure AI Studio. Saat dihilangkan, lingkungan kustom tidak dibuat. Lihat Konfigurasi komponen AI. |
model |
N | objek | Konfigurasi model Azure AI Studio. Saat dihilangkan, model tidak dibuat. Lihat Konfigurasi komponen AI. |
deployment |
Y | objek | Konfigurasi penyebaran titik akhir online Azure AI Studio. Penyebaran titik akhir online baru dibuat dan lalu lintas secara otomatis dialihkan ke penyebaran baru setelah berhasil diselesaikan. Lihat Konfigurasi penyebaran AI. |
Nota
Ketika host adalah ai.endpoint, baik project dan config diperlukan. Lihat ai.endpoint konfigurasi untuk properti konfigurasi yang diperlukan.
Konfigurasi komponen AI
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama komponen AI. Saat dihilangkan, azd menghasilkan nama berdasarkan jenis komponen dan nama layanan. Mendukung substitusi variabel lingkungan. |
path |
Y | string | Jalur ke file konfigurasi komponen AI atau kode sumber. |
overrides |
N | objek | Peta pasangan nilai kunci yang digunakan untuk mengambil alih konfigurasi komponen AI. Mendukung substitusi variabel lingkungan. |
Konfigurasi penyebaran AI
Mewarisi semua properti dari konfigurasi komponen AI, ditambah:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
environment |
N | objek | Peta pasangan kunci/nilai yang akan ditetapkan sebagai variabel lingkungan untuk penyebaran. Nilai mendukung os dan azd substitusi variabel lingkungan. |
services:
myendpoint:
project: ./src/endpoint
host: ai.endpoint
config:
workspace: my-ai-project
deployment:
path: ./deployment
environment:
MODEL_NAME: ${AZURE_OPENAI_MODEL}
docker
(objek) Konfigurasi Docker untuk layanan. Hanya berlaku untuk host yang mendukung kontainer (appservice, , containerapp, aksai.endpoint, azure.ai.agent).
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
path |
N | string | Jalur ke Dockerfile, relatif terhadap layanan Anda. Standar: ./Dockerfile. |
context |
N | string | Konteks build docker. Saat ditentukan, ambil alih konteks default. Standar: .. |
platform |
N | string | Target platform. Standar: amd64. |
registry |
N | string | Registri kontainer untuk mendorong gambar. Jika dihilangkan, default ke nilai AZURE_CONTAINER_REGISTRY_ENDPOINT variabel lingkungan. Mendukung substitusi variabel lingkungan. |
image |
N | string | Nama yang diterapkan ke gambar kontainer bawaan. Jika dihilangkan, default ke {appName}/{serviceName}-{environmentName}. Mendukung substitusi variabel lingkungan. |
tag |
N | string | Tag yang diterapkan ke gambar kontainer bawaan. Jika dihilangkan, default ke azd-deploy-{unix time (seconds)}. Mendukung substitusi variabel lingkungan. |
buildArgs |
N | kumpulan string | Buat argumen untuk meneruskan ke perintah build docker. |
network |
N | string | Mode jaringan untuk instruksi RUN selama build docker. Diteruskan ke --network build docker. Misalnya, gunakan host untuk mengizinkan kontainer build mengakses jaringan host. |
remoteBuild |
N | Boolean | Apakah akan membangun gambar dari jarak jauh. Jika diatur ke true, gambar dibangun dari jarak jauh menggunakan fitur build jarak jauh Azure Container Registry. Jika build jarak jauh gagal, azd secara otomatis kembali ke pembangunan secara lokal menggunakan Docker atau Podman jika tersedia. |
k8s
(objek) Opsi konfigurasi Azure Kubernetes Service (AKS). Hanya valid ketika host adalah aks.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
deploymentPath |
N | string | Jalur relatif dari jalur layanan ke manifes penyebaran k8s. Standar: manifests. |
namespace |
N | string | Namespace layanan k8s dari sumber daya yang disebarkan. Ketika ditentukan, namespace k8s baru dibuat jika belum ada. Default: nama proyek. |
deployment |
N | objek | Konfigurasi penyebaran k8s. Lihat Konfigurasi penyebaran. |
service |
N | objek | Konfigurasi layanan k8s. Lihat Konfigurasi layanan. |
ingress |
N | objek | Konfigurasi ingress k8s. Lihat Konfigurasi Ingress. |
helm |
N | objek | Konfigurasi helm. Lihat Konfigurasi Helm. |
kustomize |
N | objek | Konfigurasi kustomisasi. Lihat Kustomisasi konfigurasi. |
Konfigurasi penyebaran
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama sumber daya penyebaran k8s yang akan digunakan selama penyebaran. Jika tidak diatur, cari sumber daya penyebaran di namespace layanan yang sama yang berisi nama layanan. Default: nama layanan. |
Konfigurasi layanan
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama sumber daya layanan k8s yang akan digunakan sebagai titik akhir layanan default. Jika tidak diatur, cari sumber daya layanan di namespace layanan yang sama yang berisi nama layanan. Default: nama layanan. |
Konfigurasi Ingress
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama sumber daya ingress k8s untuk digunakan sebagai titik akhir layanan default. Jika tidak diatur, cari sumber daya ingress di namespace layanan yang sama yang berisi nama layanan. Default: nama layanan. |
relativePath |
N | string | Jalur relatif ke layanan dari akar pengontrol ingress Anda. Saat diatur, itu ditambahkan ke akar jalur sumber daya ingress Anda. |
Konfigurasi Helm
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
repositories |
N | array | Repositori helm untuk ditambahkan. |
releases |
N | array | Helm dirilis untuk diinstal. |
repositories item array:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama repositori helm. |
url |
Y | string | URL repositori helm. |
releases item array:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama rilis helm. |
chart |
Y | string | Nama bagan helm. |
version |
N | string | Versi bagan helm. |
namespace |
N | string | Namespace k8s untuk menginstal bagan helm. Default ke namespace layanan. |
values |
N | string | Jalur relatif dari layanan ke values.yaml untuk diteruskan ke bagan helm. |
Kustomisasi konfigurasi
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
dir |
N | string | Jalur relatif ke direktori kustomisasi. Mendukung substitusi variabel lingkungan. |
edits |
N | kumpulan string | Kustomisasi pengeditan untuk diterapkan sebelum penyebaran. Mendukung substitusi variabel lingkungan. |
env |
N | objek | Pasangan kunci/nilai lingkungan yang .env digunakan untuk menghasilkan file di direktori kustomisasi. Nilai mendukung substitusi variabel lingkungan. |
host Microsoft Foundry
Host azure.ai.agent dan host sumber daya Foundry deklaratif (microsoft.foundry, , azure.ai.project, azure.ai.connectionazure.ai.toolbox, azure.ai.skill, dan azure.ai.routine) bekerja dengan sumber daya Microsoft Foundry. Host azure.ai.agent menyebarkan kode aplikasi yang Anda buat project dari folder, sementara host deklaratif tidak melibatkan kode apa pun yang Anda buat. Setiap host deklaratif menjelaskan sumber daya Foundry pendukung yang azd menyediakan dan mengonfigurasi. Tidak seperti ai.endpoint, yang menumpuk pengaturan di bawah config, host ini mendefinisikan properti khusus host mereka sebagai saudara kandung datar dari host. Setiap properti host berasal dari azd skema ekstensi daripada skema inti azure.yaml , sehingga ekstensi harus diinstal agar properti dapat divalidasi. Untuk host deklaratif, kunci layanan adalah nama sumber daya (misalnya, koneksi, kotak alat, keterampilan, atau nama rutin).
azure.ai.agent Config
(properti di tingkat layanan, kapan host ) azure.ai.agent Konfigurasikan agen Microsoft Foundry yang dihosting. Layanan ini juga memerlukan project. Kumpulan properti lengkap ditentukan oleh azure.ai.agent skema ekstensi.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama agen. |
displayName |
N | string | Nama tampilan yang ramah manusia untuk agen. |
description |
N | string | Deskripsi agen. |
kind |
N | string | Jenis agen. Hanya hosted yang didukung. |
env |
N | objek | Variabel lingkungan sebagai pasangan kunci/nilai. |
deployments |
N | array | Penyebaran model untuk agen. Lihat Penyebaran model agen. |
codeConfiguration |
N | objek | Sebarkan agen dari sumber alih-alih gambar kontainer. Lihat Konfigurasi kode agen. |
container |
N | objek | Pengaturan sumber daya kontainer untuk agen. Lihat Sumber daya kontainer agen. |
startupCommand |
N | string | Perintah yang memulai server agen secara lokal, misalnya python main.py. Digunakan oleh azd ai agent run. |
resources |
N | array | Sumber daya eksternal untuk eksekusi agen. Setiap item memiliki resource pengidentifikasi dan connectionName. |
toolConnections |
N | array | Koneksi ke layanan eksternal (alat MCP, A2A, API kustom) yang dibuat selama provisi. Lihat skema ekstensi. |
toolboxes |
N | array | Kotak alat (Foundry Toolsets) untuk disebarkan. Lihat skema ekstensi. |
connections |
N | array | Project koneksi untuk dibuat melalui provisi Bicep. Lihat skema ekstensi. |
memoryStores |
N | array | Penyimpanan memori foundry yang memungkinkan agen mempertahankan konteks di seluruh sesi. Lihat skema ekstensi. |
policies |
N | array | Kebijakan tata kelola yang melekat pada agen, seperti AI Bertanggung Jawab. Lihat skema ekstensi. |
protocols |
N | array | Protokol pemanggilan yang diterapkan agen, misalnya responses, , invocationsatau a2a. |
agentEndpoint |
N | objek | Konfigurasi titik akhir agen, seperti protokol, pemilihan versi, dan autentikasi. |
agentCard |
N | objek | Metadata penemuan A2A untuk agen. |
metadata |
N | objek | Pasangan kunci/nilai metadata untuk agen. |
inputSchema |
N | objek | Skema input untuk agen. |
outputSchema |
N | objek | Skema output untuk agen. |
Penyebaran model agen
Setiap item di deployments upsert penyebaran model.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama penyebaran model. |
model |
Y | objek | Konfigurasi model: name, format, dan version (semua diperlukan). |
sku |
Y | objek | Konfigurasi SKU: name dan capacity (keduanya diperlukan). |
Konfigurasi kode agen
Ketika codeConfiguration ada, agen disebarkan dari sumber (ZIP) alih-alih gambar kontainer.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
runtime |
Y | string | Pengidentifikasi runtime, misalnya python_3_12 atau dotnet_9. |
entryPoint |
Y | string | Titik masuk untuk sumber agen. |
dependencyResolution |
N | string | Mode resolusi dependensi, misalnya bundled atau remote_build. |
Sumber daya kontainer agen
Objek container menetapkan sumber daya komputasi melalui objek berlapis resources .
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
cpu |
N | string | Alokasi CPU, misalnya 1 atau 500m. |
memory |
N | string | Alokasi memori, misalnya 1Gi atau 512Mi. |
services:
myagent:
project: ./src/agent
host: azure.ai.agent
language: python
name: support-agent
displayName: Support Agent
kind: hosted
env:
LOG_LEVEL: info
deployments:
- name: gpt-4o
model:
name: gpt-4o
format: OpenAI
version: "2024-08-06"
sku:
name: GlobalStandard
capacity: 50
codeConfiguration:
runtime: python_3_12
entryPoint: main.py
dependencyResolution: remote_build
container:
resources:
cpu: "1"
memory: 2Gi
Host Microsoft Foundry lainnya
Host deklaratif berikut mengambil propertinya dari azd skema ekstensi. Anda tidak membuat atau menyebarkan kode untuk mereka. Masing-masing mendeklarasikan sumber daya Foundry pendukung yang azd menyediakan. Kunci layanan adalah nama sumber daya. Untuk kumpulan properti lengkap, lihat skema setiap host.
| Host | Properti kunci | Schema |
|---|---|---|
microsoft.foundry (warisan) |
endpoint, , deploymentsconnections, toolboxes, skills, , routines,agents |
microsoft.foundry.json |
azure.ai.project |
endpoint, , deploymentsnetwork |
azure.ai.project.json |
azure.ai.connection |
category, , targetauthType, , credentials,metadata |
azure.ai.connection.json |
azure.ai.toolbox |
description, tools |
azure.ai.toolbox.json |
azure.ai.skill |
description, , instructionstools |
azure.ai.skill.json |
azure.ai.routine |
description,enabled,triggers,action |
azure.ai.routine.json |
services:
# Foundry project that owns model deployments
project:
host: azure.ai.project
deployments:
- name: gpt-4o
model:
name: gpt-4o
format: OpenAI
version: "2024-08-06"
sku:
name: GlobalStandard
capacity: 50
# Connection referenced by tools (service key is the connection name)
my-search:
host: azure.ai.connection
uses:
- project
category: CognitiveSearch
target: https://my-search.search.windows.net
authType: ApiKey
Pengait layanan
Kait tingkat layanan dijalankan selama peristiwa siklus hidup layanan. Hook harus cocok dengan nama peristiwa layanan yang diawali dengan pre atau post. Saat menentukan jalur, jalur tersebut harus relatif terhadap jalur layanan. Lihat Mengkustomisasi alur kerja Azure Developer CLI Anda menggunakan perintah dan kait peristiwa untuk detail selengkapnya.
Kait layanan yang didukung: prerestore, , postrestore, prebuildpostbuild, prepackage, postpackage, prepublish, postpublish, predeploy. postdeploy
Setiap hook menggunakan format definisi Hook .
Sampel layanan
Aplikasi Kontainer dengan opsi Docker
services:
api:
project: ./src/api
language: js
host: containerapp
docker:
path: ./Dockerfile
context: ../
web:
project: ./src/web
language: js
host: containerapp
docker:
remoteBuild: true
Aplikasi Kontainer dari gambar bawaan
services:
api:
image: myregistry.azurecr.io/myapp:latest
host: containerapp
AKS dengan kait tingkat layanan
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
(objek) Definisi sumber daya Azure yang digunakan oleh aplikasi. Setiap kunci adalah nama sumber daya, dan nilainya adalah objek konfigurasi sumber daya. Sumber daya dapat dirujuk oleh layanan melalui uses properti .
Properti sumber daya umum
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
type |
Y | string | Jenis sumber daya. Lihat Jenis sumber daya. |
uses |
N | array | Sumber daya lain yang bergantung pada sumber daya ini. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
Tip
Lihat Sampel sumber daya untuk contoh YAML lengkap yang menggabungkan beberapa jenis sumber daya.
Jenis sumber daya
Properti type menentukan jenis sumber daya Azure dan kontrol properti tambahan mana yang tersedia.
| Ketik nilai | Deskripsi | Properti tambahan |
|---|---|---|
host.appservice |
Aplikasi web Azure App Service | Lihat host.appservice properti. |
host.containerapp |
Aplikasi kontainer berbasis Docker | Lihat host.containerapp properti. |
ai.openai.model |
Model AI yang disebarkan dan siap digunakan | Lihat ai.openai.model properti. |
ai.project |
Proyek Microsoft Foundry dengan model | Lihat ai.project properti. |
ai.search |
Pencarian Azure AI | Lihat ai.search properti. |
db.postgres |
Azure Database for PostgreSQL | Tidak ada properti tambahan. |
db.mysql |
Azure Database for MySQL | Tidak ada properti tambahan. |
db.redis |
Azure Cache for Redis | Tidak ada properti tambahan. |
db.mongo |
Azure Cosmos DB for MongoDB | Tidak ada properti tambahan. |
db.cosmos |
Azure Cosmos DB for NoSQL | Lihat db.cosmos properti. |
messaging.eventhubs |
Namespace Azure Event Hubs | Lihat messaging.eventhubs properti. |
messaging.servicebus |
Namespace dari Azure Service Bus | Lihat messaging.servicebus properti. |
storage |
Akun Penyimpanan Azure | Lihat storage properti. |
keyvault |
Azure Key Vault | Lihat keyvault properti. |
properti host.appservice
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
port |
N | integer | Port yang didengarkan aplikasi web. Standar: 80. |
runtime |
Y | objek | Konfigurasi runtime bahasa. Lihat bawah. |
env |
N | array | Variabel lingkungan. Setiap item memiliki name (wajib), value, dan secret properti. Mendukung substitusi variabel lingkungan. |
startupCommand |
N | string | Perintah startup yang berjalan sebagai bagian dari startup aplikasi web. |
uses |
N | kumpulan string | Sumber daya lain yang digunakan sumber daya ini. |
runtime Objek:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
stack |
Y | string | Tumpukan runtime bahasa. Nilai yang diizinkan: node, python. |
version |
Y | string | Versi runtime bahasa. Format bervariasi menurut tumpukan (misalnya, 22-lts untuk Node, 3.13 untuk Python). |
resources:
web:
type: host.appservice
port: 8080
runtime:
stack: node
version: 22-lts
uses:
- db
properti host.containerapp
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
port |
N | integer | Port yang didengarkan aplikasi kontainer. Standar: 80. |
env |
N | array | Variabel lingkungan. Setiap item memiliki name (wajib), value, dan secret properti. Mendukung substitusi variabel lingkungan. |
uses |
N | kumpulan string | Sumber daya lain yang digunakan sumber daya ini. |
properti ai.openai.model
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
model |
Conditional | objek | Model AI yang mendasar. Diperlukan saat existing adalah false. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
model Objek:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama model AI. |
version |
Y | string | Versi model AI. |
resources:
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
properti ai.project
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
models |
N | array | Model AI yang akan disebarkan sebagai bagian dari proyek AI. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
models item array:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama model AI. |
version |
Y | string | Versi model AI. |
format |
Y | string | Format model AI (misalnya, Microsoft, OpenAI). |
sku |
Y | objek | Konfigurasi SKU untuk model AI. |
sku Objek:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama SKU (misalnya, GlobalStandard). |
usageName |
Y | string | Nama penggunaan SKU untuk tujuan penagihan (misalnya, OpenAI.GlobalStandard.gpt-4o-mini). |
capacity |
Y | integer | Kapasitas SKU. |
properti ai.search
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
properti db.cosmos
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
containers |
N | array | Kontainer untuk menyimpan data. Setiap kontainer menyimpan kumpulan item. |
containers item array:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
Y | string | Nama kontainer. |
partitionKeys |
Y | array | Kunci partisi yang digunakan untuk mendistribusikan data di seluruh partisi. Maksimum 3 kunci. Standar: /id. |
properti messaging.eventhubs
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
hubs |
N | kumpulan string | Nama hub yang akan dibuat di namespace Layanan Azure Event Hubs. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
properti messaging.servicebus
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
queues |
N | kumpulan string | Nama antrean yang akan dibuat di namespace Bus Layanan. |
topics |
N | kumpulan string | Nama topik yang akan dibuat di namespace Bus Layanan. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
properti storage
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
containers |
N | kumpulan string | Nama kontainer Akun Azure Storage. |
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
properti keyvault
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
existing |
N | Boolean | Ketika diatur ke true, sumber daya ini tidak dibuat dan sebagai gantinya digunakan untuk tujuan referensi. Standar: false. |
Sampel sumber daya
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
(objek) Definisi alur integrasi berkelanjutan.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
provider |
N | string | Penyedia alur yang akan digunakan untuk integrasi berkelanjutan. Standar: github. Nilai yang diizinkan: github, azdo. |
variables |
N | kumpulan string | Daftar azd variabel lingkungan yang akan digunakan dalam alur sebagai variabel. |
secrets |
N | kumpulan string | Daftar azd variabel lingkungan yang akan digunakan dalam alur sebagai rahasia. |
pipeline:
provider: azdo
variables:
- CUSTOM_SETTING
secrets:
- API_KEY
hooks
(objek) Kait tingkat perintah. Hook harus cocok dengan nama perintah azd yang diawali dengan pre atau post tergantung kapan skrip harus dijalankan. Saat menentukan jalur, jalur tersebut harus relatif terhadap jalur proyek. Lihat Mengkustomisasi alur kerja Azure Developer CLI Anda menggunakan perintah dan kait peristiwa untuk detail selengkapnya.
Kait perintah yang didukung: preprovision, , postprovision, preinfracreate, postinfracreatepreinfradelete, postinfradelete, predown, postdown, preup, postupprepackage, postpackage, prepublish, , postpublish, predeploy, postdeploy, , prerestore. postrestore
Setiap hook menggunakan format definisi Hook .
Tip
Lihat Sampel hook untuk contoh YAML lengkap termasuk kait khusus platform, eksekutor yang diketik, dan beberapa kait per peristiwa.
hooks:
preprovision:
shell: sh
run: ./scripts/setup.sh
postdeploy:
shell: sh
run: azd env set APP_URL ${SERVICE_WEB_ENDPOINT_URL}
Definisi hook
Kait bisa menjadi objek kait tunggal atau array objek kait. Setiap objek kait memiliki properti berikut:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
run |
Conditional | string | Skrip sebaris atau jalur relatif skrip Anda. Diperlukan saat menentukan shell, , kinddir, interactive, continueOnError, secrets, atau config. Untuk jalur file, shell secara otomatis disimpulkan dari ekstensi file. |
shell |
N | string | Jenis shell untuk menjalankan skrip. Optional. Saat dihilangkan, azd memilih default berdasarkan sistem operasi: pwsh pada Windows dan sh di Linux dan macOS, dan mencetak peringatan yang merekomendasikan nilai eksplisit. Nilai yang diizinkan: sh, pwsh. |
kind |
N | string | Jenis pelaksana untuk skrip kait. Ketika dihilangkan, jenisnya terdeteksi secara otomatis dari ekstensi run file jalur (misalnya, .py menjadi python, .ps1 menjadi pwsh). Nilai yang diizinkan: sh, pwsh, js, ts, python, dotnet. |
dir |
N | string | Direktori kerja untuk eksekusi kait. Digunakan sebagai akar proyek untuk penginstalan dependensi dan sebagai direktori kerja saat menjalankan skrip. Jalur relatif diselesaikan dari proyek atau akar layanan. Saat dihilangkan, default ke direktori yang berisi file skrip. |
continueOnError |
N | Boolean | Apakah kesalahan skrip menghentikan azd perintah. Standar: false. |
interactive |
N | Boolean | Apakah skrip berjalan dalam mode interaktif, pengikatan ke stdin, stdout, dan stderr konsol yang sedang berjalan. Standar: false. |
windows |
N | objek | Ketika ditentukan, ambil alih konfigurasi kait saat dijalankan di lingkungan Windows. Menggunakan format objek kait yang sama. |
posix |
N | objek | Jika ditentukan, ambil alih konfigurasi kait saat dijalankan di lingkungan POSIX (Linux dan macOS). Menggunakan format objek kait yang sama. |
secrets |
N | objek | Peta azd variabel lingkungan untuk mengaitkan rahasia. Jika variabel ditetapkan sebagai rahasia di lingkungan, nilai rahasia diteruskan ke hook. |
config |
N | objek | Konfigurasi khusus eksekutor. Properti yang tersedia bergantung pada nilainya kind . Lihat Konfigurasi pelaksana Hook. |
Nota
Ketika dan windowsposix ditentukan, runproperti , , shell, kinddir, interactive, continueOnError, secrets, dan config tidak dapat digunakan di tingkat atas. Gunakan objek khusus platform sebagai gantinya.
Konfigurasi pelaksana hook
Properti config menerima properti yang berbeda tergantung pada nilainya kind .
Konfigurasi JavaScript dan TypeScript (js, ts)
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
packageManager |
N | string | Manajer paket yang digunakan untuk penginstalan dependensi. Mengambil alih deteksi otomatis dari file kunci. Nilai yang diizinkan: npm, pnpm, dan yarn. |
Konfigurasi Python
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
virtualEnvName |
N | string | Nama direktori untuk lingkungan virtual Python. Default untuk deteksi otomatis (.venv, venv) atau {baseName}_env. |
Konfigurasi .NET (dotnet)
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
configuration |
N | string | Konfigurasi MSBuild untuk membangun skrip kait (misalnya, Debug, Release). |
framework |
N | string | Kerangka kerja target moniker untuk membangun dan menjalankan skrip kait (misalnya, net8.0, net10.0). |
Konfigurasi Shell (sh, pwsh)
Eksekutor Shell saat ini tidak mendukung config properti.
Sampel hook
Kait khusus platform
hooks:
preprovision:
windows:
shell: pwsh
run: ./scripts/setup.ps1
posix:
shell: sh
run: ./scripts/setup.sh
Kait Python dengan jenis
hooks:
postprovision:
kind: python
run: ./scripts/seed-data.py
dir: ./scripts
config:
virtualEnvName: .venv
Beberapa kait untuk satu peristiwa
hooks:
postprovision:
- shell: sh
run: ./scripts/step1.sh
- shell: sh
run: ./scripts/step2.sh
requiredVersions
(objek) Menyediakan konfigurasi tambahan untuk versi azd ekstensi dan yang diperlukan.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
azd |
N | string | Berbagai versi azd yang didukung untuk proyek ini. Jika versi azd berada di luar rentang ini, proyek gagal dimuat. Mendukung sintaks rentang semver. |
extensions |
N | objek | Peta ekstensi dan batasan versi yang diperlukan untuk proyek ini. Mendukung batasan semver. Jika versi dihilangkan, versi terbaru diinstal. |
requiredVersions:
azd: ">= 0.6.0-beta.3"
extensions:
azure.ai.agents: ">=1.0.0"
my-extension: latest
state
(objek) Menyediakan konfigurasi tambahan untuk manajemen status.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
remote |
N | objek | Menyediakan konfigurasi tambahan untuk manajemen status jarak jauh. Lihat state.remote. |
state.remote
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
backend |
Y | string | Jenis backend status jarak jauh. Standar: AzureBlobStorage. Nilai yang diizinkan: AzureBlobStorage. |
config |
Conditional | objek | Konfigurasi khusus backend. Diperlukan saat backend adalah AzureBlobStorage. Lihat Konfigurasi Azure Blob Storage. |
Konfigurasi Azure Blob Storage
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
accountName |
Y | string | Nama akun Azure Storage. |
containerName |
N | string | Nama kontainer Azure Storage. Default ke nama proyek jika tidak ditentukan. |
endpoint |
N | string | Titik akhir Azure Storage. Standar: blob.core.windows.net. |
state:
remote:
backend: AzureBlobStorage
config:
accountName: mystorageaccount
containerName: azd-state
platform
(objek) Menyediakan konfigurasi tambahan untuk fitur khusus platform seperti Azure Dev Center.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
type |
Y | string | Jenis platform. Nilai yang diizinkan: devcenter. |
config |
N | objek | Konfigurasi khusus platform. Lihat Konfigurasi Dev Center. |
Konfigurasi Dev Center
Tersedia ketika type adalah devcenter:
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama Azure Dev Center. Digunakan sebagai pusat dev default untuk proyek ini. |
project |
N | string | Nama proyek Azure Dev Center. |
catalog |
N | string | Nama katalog Azure Dev Center. |
environmentDefinition |
N | string | Nama definisi lingkungan katalog Dev Center. |
environmentType |
N | string | Jenis lingkungan proyek Dev Center yang digunakan untuk lingkungan penyebaran. |
platform:
type: devcenter
config:
name: my-devcenter
project: my-project
catalog: my-catalog
environmentDefinition: my-env-def
environmentType: dev
workflows
(objek) Menyediakan konfigurasi tambahan untuk alur kerja seperti perilaku penimpaan azd up .
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
up |
N | objek atau array | Saat ditentukan, ambil alih perilaku default untuk azd up alur kerja. |
Langkah-langkah alur kerja
up Alur kerja menerima steps array (atau dapat ditentukan langsung sebagai array). Setiap langkah menjalankan azd perintah.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
azd |
Y | string atau objek | Perintah azd yang akan dijalankan. Dapat berupa string (misalnya, provision) atau objek dengan args array. |
Mengonfigurasi urutan langkah alur kerja
File berikut azure.yaml mengubah perilaku azd up default untuk memindahkan azd package langkah setelah langkah.azd provision Gunakan pendekatan ini dalam skenario di mana Anda perlu mengetahui URL sumber daya selama proses build atau pengemasan.
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
workflows:
up:
steps:
- azd: provision
- azd: package
- azd: deploy --all
cloud
(objek) Menyediakan konfigurasi tambahan untuk menyebarkan ke sovereign cloud seperti Azure Government. Cloud defaultnya adalah AzureCloud.
| Harta benda | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
name |
N | string | Nama lingkungan cloud. Nilai yang diizinkan: AzureCloud, AzureChinaCloud, dan AzureUSGovernment. |
cloud:
name: AzureUSGovernment
Minta bantuan
Untuk informasi tentang cara mengajukan bug, meminta bantuan, atau mengusulkan fitur baru untuk Azure Developer CLI, silakan kunjungi halaman pemecahan masalah dan dukungan.