Referensi skema CLI Pengembang Azure

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.

Langkah berikutnya