Dokumentacja schematu interfejsu wiersza polecenia dla deweloperów platformy Azure

Plik azure.yaml jest plikiem konfiguracji dla projektów interfejsu wiersza polecenia dla deweloperów platformy Azure (azd). Umieść go w katalogu głównym projektu w celu zdefiniowania usług, zasobów platformy Azure, infrastruktury, punktów zaczepienia i potoku ciągłej integracji/ciągłego wdrażania tworzącego aplikację. Po uruchomieniu poleceń, takich jak azd up, azd provisionlub azd deploy, interfejs wiersza polecenia odczytuje ten plik, aby zrozumieć strukturę aplikacji i jak wdrożyć ją na platformie Azure.

Ten artykuł zawiera pełne odwołanie do schematu azure.yaml. Aby rozpocząć pracę z szablonami azd , zobacz Omówienie szablonów interfejsu wiersza polecenia dla deweloperów platformy Azure.

Próbka

Poniżej przedstawiono ogólny przykład azure.yaml pliku szablonu azd . Aby zapoznać się z rzeczywistym przykładem, zobacz azure.yamlszablon 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

Właściwości najwyższego poziomu

Nazwa elementu Wymagane Typ Opis
name Y ciąg Nazwa aplikacji. Dozwolone są tylko małe litery, cyfry i łączniki (-). Nazwa musi zaczynać się i kończyć literą lub cyfrą.
resourceGroup N ciąg Nazwa grupy zasobów platformy Azure. Po określeniu zastępuje nazwę grupy zasobów używaną do aprowizacji infrastruktury. Obsługuje podstawianie zmiennych środowiskowych.
metadata N obiekt Metadane dotyczące szablonu aplikacji.
infra N obiekt Zapewnia dodatkową konfigurację aprowizacji infrastruktury platformy Azure.
services N obiekt Definicja usług składających się na aplikację.
resources N obiekt Definicja zasobów platformy Azure używanych przez aplikację.
pipeline N obiekt Definicja potoku ciągłej integracji.
hooks N obiekt Haki na poziomie polecenia dla azd poleceń.
requiredVersions N obiekt Zapewnia dodatkową konfigurację dla wymaganych wersji azd rozszerzeń i.
state N obiekt Zapewnia dodatkową konfigurację zarządzania stanami.
platform N obiekt Udostępnia dodatkową konfigurację funkcji specyficznych dla platformy, takich jak Centrum deweloperów platformy.
workflows N obiekt Zapewnia dodatkową konfigurację przepływów pracy, takich jak zastępowanie azd up zachowania.
cloud N obiekt Zapewnia dodatkową konfigurację wdrażania w suwerennych chmurach. Domyślna chmura to AzureCloud.

name

(ciąg, wymagany) Nazwa aplikacji. Dozwolone są tylko małe litery, cyfry i łączniki (-). Nazwa musi zaczynać się i kończyć literą lub cyfrą. Minimalna długość: 2 znaki.

name: my-app

resourceGroup

(ciąg) Nazwa grupy zasobów platformy Azure. Po określeniu zastępuje nazwę grupy zasobów używaną do aprowizacji infrastruktury. Obsługuje podstawianie zmiennych środowiskowych. Musi zawierać od 3 do 64 znaków.

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

metadata

(obiekt) Metadane dotyczące szablonu aplikacji.

Majątek Wymagane Typ Opis
template N ciąg Identyfikator szablonu, z którego utworzono aplikację.
metadata:
  template: todo-nodejs-mongo@0.0.1-beta

infra

(obiekt) Zapewnia dodatkową konfigurację aprowizacji infrastruktury platformy Azure.

Majątek Wymagane Typ Opis
provider N ciąg Dostawca aprowizacji infrastruktury używany do aprowizacji zasobów platformy Azure dla aplikacji. Wartość domyślna: bicep. Dozwolone wartości: bicep, terraform.
path N ciąg Ścieżka folderu względnego do szablonów aprowizacji platformy Azure dla określonego dostawcy. Wartość domyślna: infra.
module N ciąg Nazwa modułu domyślnego w szablonach aprowizacji platformy Azure. Wartość domyślna: main.
layers N macierz Warstwy aprowizacji infrastruktury platformy Azure. Zobacz: infra.layers.

Note

Jeśli layers określono element z co najmniej jednym elementem, path nie można użyć właściwości i module . Zamiast tego użyj wartości specyficznych dla pathmodule warstwy.

infra.layers

(tablica obiektów) Definiuje warstwy aprowizacji dla infrastruktury platformy Azure. Każda warstwa reprezentuje niezależną jednostkę aprowizacji.

Majątek Wymagane Typ Opis
name Y ciąg Nazwa warstwy aprowizacji.
path Y ciąg Ścieżka folderu względnego do szablonów aprowizacji platformy Azure dla określonego dostawcy.
module N ciąg Nazwa modułu aprowizacji platformy Azure używanego podczas aprowizacji zasobów. Wartość domyślna: main.
hooks N obiekt Aprowizowanie punktów zaczepienia warstwy. Obsługuje preprovision i postprovision haki. Podczas określania ścieżek powinny być względne względem ścieżki warstwy. Zobacz Definicja haka.
infra:
  provider: bicep
  layers:
    - name: core
      path: ./infra/core
    - name: services
      path: ./infra/services
      hooks:
        postprovision:
          shell: sh
          run: ./scripts/post-provision.sh

Przykład dostawcy narzędzia Terraform jako dostawcy IaC

Aby użyć narzędzia Terraform zamiast Bicep, ustaw wartość providerterraform. Aby uzyskać więcej informacji, zobacz Use Terraform as an IaC provider (Używanie narzędzia Terraform jako dostawcy 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

(obiekt) Definicja usług składających się na aplikację. Każdy klucz jest nazwą usługi, a wartość jest obiektem konfiguracji usługi.

Właściwości usługi

Majątek Wymagane Typ Opis
host Y ciąg Typ zasobu platformy Azure używanego do implementacji usługi. Zobacz Typy hostów.
project Conditional ciąg Ścieżka do katalogu kodu źródłowego usługi. Wymagane dla większości typów hostów.
image Conditional ciąg Obraz źródłowy do użycia dla obrazu kontenera zamiast kompilowania ze źródła. Obsługuje podstawianie zmiennych środowiskowych. Tylko prawidłowe dla containerapp hosta.
language N ciąg Język implementacji usługi. Dozwolone wartości: , , , , , dotnet, csharp, fsharp, , . pypythonjstsjavadocker
module N ciąg Ścieżka modułu infrastruktury używanego do wdrażania usługi względem głównego folderu infra. W przypadku pominięcia interfejs wiersza polecenia zakłada, że nazwa modułu jest taka sama jak nazwa usługi.
dist N ciąg Względna ścieżka do artefaktów wdrożenia usługi.
resourceName N ciąg Nazwa zasobu platformy Azure, który implementuje usługę. Domyślnie interfejs wiersza polecenia odnajduje zasób platformy Azure z tagiem azd-service-name ustawionym na nazwę bieżącej usługi. Obsługuje podstawianie zmiennych środowiskowych.
resourceGroup N ciąg Nazwa grupy zasobów platformy Azure, która zawiera zasób. Po określeniu interfejs wiersza polecenia znajduje zasób platformy Azure w określonej grupie zasobów. Obsługuje podstawianie zmiennych środowiskowych.
remoteBuild N boolean Czy używać zdalnej kompilacji na potrzeby wdrażania aplikacji funkcji. Prawidłowy tylko wtedy, gdy host ma wartość function. W przypadku ustawienia wartości truepakiet wdrożeniowy jest kompilowany zdalnie przy użyciu rozwiązania Oryx. Domyślnie dotyczy true aplikacji funkcji JavaScript, TypeScript i Python.
docker N obiekt Konfiguracja platformy Docker. Dotyczy tylko hostów opartych na kontenerach. Zobacz: docker.
k8s N obiekt Opcje konfiguracji usługi AKS. Prawidłowy tylko wtedy, gdy host ma wartość aks. Zobacz: k8s.
config N obiekt Dodatkowe opcje konfiguracji usługi.
uses N macierz Lista nazw usług i nazw zasobów, od których zależy ta usługa.
env N obiekt Mapa nazw zmiennych środowiskowych na wartości. Obsługuje podstawianie zmiennych środowiskowych.
apiVersion N ciąg Wersja interfejsu API dostawcy zasobów dla wdrożeń. Prawidłowy tylko wtedy, gdy host ma wartość containerapp.
hooks N obiekt Punkty zaczepienia na poziomie usługi. Zobacz Punkty zaczepienia usługi.

Tip

Zobacz Przykłady usług , aby zapoznać się z kompletnymi przykładami konfiguracji usługi YAML.

Typy hostów

Właściwość host określa typ zasobu platformy Azure używanego do implementacji usługi i kontroluje, które inne właściwości są prawidłowe.

Wartość hosta Opis Wymaga project Obsługuje image Obsługuje docker Obsługuje k8s Obsługuje env Obsługuje apiVersion
appservice Azure App Service Y N N N N N
containerapp Azure Container Apps project lub image (nie oba) 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 Punkt końcowy online usługi Azure AI Y N Y N N N
azure.ai.agent Agent sztucznej inteligencji platformy Azure Y N Y N N N

Note

springapp obsługa wymaga zgody na funkcje alfa. Aby uzyskać więcej informacji, zobacz Funkcje alfa.

Note

Jeśli host parametr to containerapp, musisz podać wartość image lub project, ale nie obie. W przypadku image ustawienia kontener zostanie wdrożony z określonego obrazu. W przypadku project ustawienia obraz kontenera jest kompilowany na podstawie źródła.

ai.endpoint Config

(obiekt, wymagany, gdy host jest ai.endpoint) Zapewnia dodatkową konfigurację wdrożenia punktu końcowego online usługi Azure AI.

Majątek Wymagane Typ Opis
workspace N ciąg Nazwa obszaru roboczego projektu AI Studio. Po pominięciu azd użyje wartości określonej w zmiennej środowiskowej AZUREAI_PROJECT_NAME . Obsługuje podstawianie zmiennych środowiskowych.
flow N obiekt Konfiguracja przepływu monitów usługi Azure AI Studio. Po pominięciu przepływ monitu nie jest tworzony. Zobacz Konfiguracja składnika sztucznej inteligencji.
environment N obiekt Konfiguracja środowiska niestandardowego usługi Azure AI Studio. Po pominięciu środowisko niestandardowe nie jest tworzone. Zobacz Konfiguracja składnika sztucznej inteligencji.
model N obiekt Konfiguracja modelu usługi Azure AI Studio. Po pominięciu model nie jest tworzony. Zobacz Konfiguracja składnika sztucznej inteligencji.
deployment Y obiekt Konfiguracja wdrażania punktu końcowego online w usłudze Azure AI Studio. Zostanie utworzone nowe wdrożenie punktu końcowego online, a ruch zostanie automatycznie przeniesiony do nowego wdrożenia po pomyślnym zakończeniu. Zobacz Konfiguracja wdrożenia sztucznej inteligencji.

Note

Gdy host parametr to ai.endpoint, zarówno , jak project i config są wymagane. Zobacz ai.endpoint konfigurację wymaganych właściwości konfiguracji.

Konfiguracja składnika sztucznej inteligencji
Majątek Wymagane Typ Opis
name N ciąg Nazwa składnika sztucznej inteligencji. Po pominięciu azd generuje nazwę na podstawie typu składnika i nazwy usługi. Obsługuje podstawianie zmiennych środowiskowych.
path Y ciąg Ścieżka do pliku konfiguracji składnika sztucznej inteligencji lub kodu źródłowego.
overrides N obiekt Mapa par klucz-wartość używana do zastępowania konfiguracji składnika sztucznej inteligencji. Obsługuje podstawianie zmiennych środowiskowych.
Konfiguracja wdrożenia sztucznej inteligencji

Dziedziczy wszystkie właściwości konfiguracji składnika sztucznej inteligencji oraz:

Majątek Wymagane Typ Opis
environment N obiekt Mapa par klucz/wartość do ustawienia jako zmiennych środowiskowych dla wdrożenia. Wartości obsługują podstawianie zmiennych środowiskowych i azd systemu operacyjnego.
services:
  myendpoint:
    project: ./src/endpoint
    host: ai.endpoint
    config:
      workspace: my-ai-project
      deployment:
        path: ./deployment
        environment:
          MODEL_NAME: ${AZURE_OPENAI_MODEL}

docker

(obiekt) Konfiguracja platformy Docker dla usługi. Dotyczy tylko hostów obsługujących kontenery (containerapp, aks, ai.endpoint, azure.ai.agent).

Majątek Wymagane Typ Opis
path N ciąg Ścieżka do pliku Dockerfile względem usługi. Wartość domyślna: ./Dockerfile.
context N ciąg Kontekst kompilacji platformy Docker. Po określeniu zastępuje kontekst domyślny. Wartość domyślna: ..
platform N ciąg Element docelowy platformy. Wartość domyślna: amd64.
registry N ciąg Rejestr kontenerów w celu wypchnięcia obrazu do. W przypadku pominięcia wartość domyślna to wartość zmiennej środowiskowej AZURE_CONTAINER_REGISTRY_ENDPOINT . Obsługuje podstawianie zmiennych środowiskowych.
image N ciąg Nazwa zastosowana do utworzonego obrazu kontenera. W przypadku pominięcia wartość domyślna to {appName}/{serviceName}-{environmentName}. Obsługuje podstawianie zmiennych środowiskowych.
tag N ciąg Tag stosowany do utworzonego obrazu kontenera. W przypadku pominięcia wartość domyślna to azd-deploy-{unix time (seconds)}. Obsługuje podstawianie zmiennych środowiskowych.
buildArgs N tablica stringów Argumenty kompilacji, które mają być przekazywane do polecenia kompilacji platformy Docker.
network N ciąg Tryb sieciowy dla instrukcji RUN podczas kompilacji platformy Docker. Przekazano jako --network kompilację platformy Docker. Na przykład użyj polecenia host , aby umożliwić kontenerowi kompilacji dostęp do sieci hosta.
remoteBuild N boolean Czy utworzyć obraz zdalnie. Jeśli ustawiono truewartość , obraz jest kompilowany zdalnie przy użyciu funkcji zdalnego kompilowania usługi Azure Container Registry. Jeśli kompilacja zdalna zakończy się niepowodzeniem, automatycznie powróci do tworzenia lokalnie przy użyciu platformy Docker lub Narzędzia Podman, azd jeśli jest dostępna.

k8s

(obiekt) Opcje konfiguracji usługi Azure Kubernetes Service (AKS). Prawidłowy tylko wtedy, gdy host ma wartość aks.

Majątek Wymagane Typ Opis
deploymentPath N ciąg Ścieżka względna ze ścieżki usługi do manifestów wdrożenia k8s. Wartość domyślna: manifests.
namespace N ciąg Przestrzeń nazw k8s wdrożonych zasobów. Po określeniu zostanie utworzona nowa przestrzeń nazw k8s, jeśli jeszcze nie istnieje. Ustawienie domyślne: nazwa projektu.
deployment N obiekt Konfiguracja wdrożenia k8s. Zobacz Konfiguracja wdrożenia.
service N obiekt Konfiguracja usługi k8s. Zobacz Konfiguracja usługi.
ingress N obiekt Konfiguracja ruchu przychodzącego k8s. Zobacz Konfiguracja ruchu przychodzącego.
helm N obiekt Konfiguracja narzędzia Helm. Zobacz Konfiguracja programu Helm.
kustomize N obiekt Konfiguracja kustomize. Zobacz Kustomize config.
Konfiguracja wdrożenia
Majątek Wymagane Typ Opis
name N ciąg Nazwa zasobu wdrożenia k8s do użycia podczas wdrażania. Jeśli nie zostanie ustawiona, wyszukaj zasób wdrożenia w tej samej przestrzeni nazw, która zawiera nazwę usługi. Wartość domyślna: nazwa usługi.
Konfiguracja usługi
Majątek Wymagane Typ Opis
name N ciąg Nazwa zasobu usługi k8s, który ma być używany jako domyślny punkt końcowy usługi. Jeśli nie zostanie ustawiona, wyszukaj zasób usługi w tej samej przestrzeni nazw, która zawiera nazwę usługi. Wartość domyślna: nazwa usługi.
Konfiguracja ruchu przychodzącego
Majątek Wymagane Typ Opis
name N ciąg Nazwa zasobu ruchu przychodzącego k8s do użycia jako domyślny punkt końcowy usługi. Jeśli nie zostanie ustawiona, wyszukuje zasób ruchu przychodzącego w tej samej przestrzeni nazw, która zawiera nazwę usługi. Wartość domyślna: nazwa usługi.
relativePath N ciąg Ścieżka względna do usługi z katalogu głównego kontrolera ruchu przychodzącego. Po ustawieniu jest on dołączany do katalogu głównego ścieżki zasobu ruchu przychodzącego.
Konfiguracja narzędzia Helm
Majątek Wymagane Typ Opis
repositories N macierz Repozytoria helm do dodania.
releases N macierz Narzędzie Helm wydań do zainstalowania.

repositories Elementy tablicy:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa repozytorium helm.
url Y ciąg Adres URL repozytorium helm.

releases Elementy tablicy:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa wydania programu Helm.
chart Y ciąg Nazwa wykresu helm.
version N ciąg Wersja wykresu helm.
namespace N ciąg Przestrzeń nazw k8s do zainstalowania wykresu helm. Domyślnie jest używana przestrzeń nazw usługi.
values N ciąg Ścieżka względna z usługi do elementu values.yaml , aby przekazać do wykresu helm.
Konfiguracja kustomize
Majątek Wymagane Typ Opis
dir N ciąg Ścieżka względna do katalogu kustomize. Obsługuje podstawianie zmiennych środowiskowych.
edits N tablica stringów Zmiany kustomize, które mają być stosowane przed wdrożeniem. Obsługuje podstawianie zmiennych środowiskowych.
env N obiekt Pary klucz/wartość środowiska używane do generowania .env pliku w katalogu kustomize. Wartości obsługują podstawianie zmiennych środowiskowych.

Zaczepy serwisowe

Punkty zaczepienia na poziomie usługi są wykonywane podczas zdarzeń cyklu życia usługi. Punkty zaczepienia powinny być zgodne z nazwami zdarzeń usługi poprzedzonymi prefiksem pre lub post. Podczas określania ścieżek powinny być względne względem ścieżki usługi. Aby uzyskać więcej informacji, zobacz Dostosowywanie przepływów pracy interfejsu wiersza polecenia platformy Azure przy użyciu poleceń i punktów zaczep ienia zdarzeń.

Obsługiwane punkty zaczepienia usługi: prerestore, prebuildpostpackagepostbuildpostrestoreprepublishpostpublishprepackage, predeploy, . postdeploy

Każdy punkt zaczepienia używa formatu definicji haka .

Przykłady usług

Kontener Apps z opcjami platformy 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
Usługa Container Apps ze wstępnie utworzonego obrazu
services:
  api:
    image: myregistry.azurecr.io/myapp:latest
    host: containerapp
Usługa AKS z punktami zaczepienia na poziomie usługi
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

(obiekt) Definicja zasobów platformy Azure używanych przez aplikację. Każdy klucz jest nazwą zasobu, a wartość jest obiektem konfiguracji zasobu. Zasoby mogą być przywołyne przez usługi za pośrednictwem uses właściwości .

Typowe właściwości zasobu

Majątek Wymagane Typ Opis
type Y ciąg Typ zasobu. Zobacz Typy zasobów.
uses N macierz Inne zasoby, od których zależy ten zasób.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

Tip

Zobacz Przykład zasobów , aby zapoznać się z kompletnym przykładem YAML łączącym wiele typów zasobów.

Typy zasobów

Właściwość type określa rodzaj zasobu platformy Azure i kontroluje, które dodatkowe właściwości są dostępne.

Wartość typu Opis Dodatkowe właściwości
host.appservice Aplikacja internetowa usługi Azure App Service Zobacz host.appservice właściwości.
host.containerapp Aplikacja kontenera oparta na platformie Docker Zobacz host.containerapp właściwości.
ai.openai.model Wdrożony, gotowy do użycia model AI Zobacz ai.openai.model właściwości.
ai.project Projekt Firmy Microsoft Foundry z modelami Zobacz ai.project właściwości.
ai.search Wyszukiwanie AI platformy Azure Zobacz ai.search właściwości.
db.postgres Azure Database for PostgreSQL Brak dodatkowych właściwości.
db.mysql Azure Database for MySQL Brak dodatkowych właściwości.
db.redis Azure Cache for Redis Brak dodatkowych właściwości.
db.mongo Azure Cosmos DB for MongoDB Brak dodatkowych właściwości.
db.cosmos Azure Cosmos DB for NoSQL Zobacz db.cosmos właściwości.
messaging.eventhubs Przestrzeń nazw usługi Azure Event Hubs Zobacz messaging.eventhubs właściwości.
messaging.servicebus Przestrzeń nazw usługi Azure Service Bus Zobacz messaging.servicebus właściwości.
storage konto usługi Azure Storage Zobacz storage właściwości.
keyvault Azure Key Vault Zobacz keyvault właściwości.

host.appservice właściwości

Majątek Wymagane Typ Opis
port N liczba całkowita Port nasłuchiwany przez aplikację internetową. Wartość domyślna: 80.
runtime Y obiekt Konfiguracja środowiska uruchomieniowego języka. Zobacz poniżej.
env N macierz Zmienne środowiskowe. Każdy element ma name (wymagane), valuei secret właściwości. Obsługuje podstawianie zmiennych środowiskowych.
startupCommand N ciąg Polecenie uruchamiania uruchamiane w ramach uruchamiania aplikacji internetowej.
uses N tablica stringów Inne zasoby używane przez ten zasób.

runtime Obiektu:

Majątek Wymagane Typ Opis
stack Y ciąg Stos środowiska uruchomieniowego języka. Dozwolone wartości: node, python.
version Y ciąg Wersja środowiska uruchomieniowego języka. Format różni się w zależności od stosu (na przykład 22-lts dla środowiska Node 3.13 dla języka Python).
resources:
  web:
    type: host.appservice
    port: 8080
    runtime:
      stack: node
      version: 22-lts
    uses:
      - db

host.containerapp właściwości

Majątek Wymagane Typ Opis
port N liczba całkowita Port, na który nasłuchuje aplikacja kontenera. Wartość domyślna: 80.
env N macierz Zmienne środowiskowe. Każdy element ma name (wymagane), valuei secret właściwości. Obsługuje podstawianie zmiennych środowiskowych.
uses N tablica stringów Inne zasoby używane przez ten zasób.

ai.openai.model właściwości

Majątek Wymagane Typ Opis
model Conditional obiekt Bazowy model sztucznej inteligencji. Wymagane, gdy existing ma wartość false.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

model Obiektu:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa modelu AI.
version Y ciąg Wersja modelu AI.
resources:
  chatModel:
    type: ai.openai.model
    model:
      name: gpt-4o
      version: "2024-08-06"

ai.project właściwości

Majątek Wymagane Typ Opis
models N macierz Modele sztucznej inteligencji, które mają zostać wdrożone w ramach projektu sztucznej inteligencji.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

models Elementy tablicy:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa modelu AI.
version Y ciąg Wersja modelu AI.
format Y ciąg Format modelu AI (na przykład Microsoft, OpenAI).
sku Y obiekt Konfiguracja jednostki SKU dla modelu AI.

sku Obiektu:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa jednostki SKU (na przykład GlobalStandard).
usageName Y ciąg Nazwa użycia jednostki SKU na potrzeby rozliczeń (na przykład OpenAI.GlobalStandard.gpt-4o-mini).
capacity Y liczba całkowita Pojemność jednostki SKU.

ai.search właściwości

Majątek Wymagane Typ Opis
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

db.cosmos właściwości

Majątek Wymagane Typ Opis
containers N macierz Kontenery do przechowywania danych. Każdy kontener przechowuje kolekcję elementów.

containers Elementy tablicy:

Majątek Wymagane Typ Opis
name Y ciąg Nazwa kontenera.
partitionKeys Y macierz Klucze partycji używane do dystrybucji danych między partycjami. Maksymalnie 3 klucze. Wartość domyślna: /id.

messaging.eventhubs właściwości

Majątek Wymagane Typ Opis
hubs N tablica stringów Nazwy centrów do utworzenia w przestrzeni nazw usługi Event Hubs.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

messaging.servicebus właściwości

Majątek Wymagane Typ Opis
queues N tablica stringów Nazwy kolejek do utworzenia w przestrzeni nazw usługi Service Bus.
topics N tablica stringów Nazwy tematów do utworzenia w przestrzeni nazw usługi Service Bus.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

storage właściwości

Majątek Wymagane Typ Opis
containers N tablica stringów Nazwy kontenerów konta usługi Azure Storage.
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

keyvault właściwości

Majątek Wymagane Typ Opis
existing N boolean W przypadku ustawienia wartości trueten zasób nie jest tworzony, a zamiast tego jest używany do celów odwoływania się. Wartość domyślna: false.

Przykład zasobów

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

(obiekt) Definicja potoku ciągłej integracji.

Majątek Wymagane Typ Opis
provider N ciąg Dostawca potoku, który ma być używany do ciągłej integracji. Wartość domyślna: github. Dozwolone wartości: github, azdo.
variables N tablica stringów azd Lista zmiennych środowiskowych, które mają być używane w potoku jako zmienne.
secrets N tablica stringów azd Lista zmiennych środowiskowych, które mają być używane w potoku jako wpisy tajne.
pipeline:
  provider: azdo
  variables:
    - CUSTOM_SETTING
  secrets:
    - API_KEY

hooks

(obiekt) Haki na poziomie polecenia. Haki powinny być zgodne z nazwami poleceń azd poprzedzonymi pre lub post w zależności od tego, kiedy skrypt powinien zostać wykonany. Podczas określania ścieżek powinny być względne względem ścieżki projektu. Aby uzyskać więcej informacji, zobacz Dostosowywanie przepływów pracy interfejsu wiersza polecenia platformy Azure przy użyciu poleceń i punktów zaczep ienia zdarzeń.

Obsługiwane haki poleceń: preprovision, postprovisionpreinfracreateprerestorepostpublishpostrestorepostdeploypredeployprepublishpostpackageprepackagepostuppostdownpostinfradeletepreuppostinfracreatepreinfradeletepredown.

Każdy punkt zaczepienia używa formatu definicji haka .

Tip

Zobacz Przykłady punktów zaczepienia , aby zapoznać się z kompletnymi przykładami YAML, w tym hakami specyficznymi dla platformy, typowymi funkcjami wykonawczych i wieloma punktami zaczepienia na zdarzenie.

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

Definicja haka

Hak może być pojedynczym obiektem haka lub tablicą obiektów haka. Każdy obiekt haka ma następujące właściwości:

Majątek Wymagane Typ Opis
run Conditional ciąg Wbudowany skrypt lub ścieżka względna skryptu. Wymagane podczas określania shellwartości , , kind, dirinteractive, continueOnError, secretslub config. Podczas określania skryptu wbudowanego należy również określić shell parametr do użycia. Powłoka jest automatycznie wnioskowana podczas korzystania ze ścieżek plików.
shell N ciąg Typ powłoki do wykonywania skryptów. Wartość domyślna: sh. Dozwolone wartości: sh, pwsh.
kind N ciąg Rodzaj funkcji wykonawczej dla skryptu haka. Po pominięciu typ jest automatycznie wykrywany z rozszerzenia pliku ścieżki run (na przykład .py staje się python, .ps1 staje się pwsh). Dozwolone wartości: sh, pwsh, js, ts, python, dotnet.
dir N ciąg Katalog roboczy na potrzeby wykonywania haka. Używany jako katalog główny projektu do instalacji zależności i jako katalog roboczy podczas uruchamiania skryptu. Ścieżki względne są rozpoznawane z katalogu głównego projektu lub usługi. Po pominięciu zostanie pominięta wartość domyślna katalogu zawierającego plik skryptu.
continueOnError N boolean Czy błąd skryptu azd zatrzymuje polecenie. Wartość domyślna: false.
interactive N boolean Określa, czy skrypt działa w trybie interaktywnym, powiązanie z stdinelementami i stdoutstderr uruchomionej konsoli. Wartość domyślna: false.
windows N obiekt Po określeniu zastępuje konfigurację punktów zaczepienia podczas wykonywania w środowiskach systemu Windows. Używa tego samego formatu obiektu zaczepienia.
posix N obiekt Po określeniu zastępuje konfigurację punktów zaczepienia podczas wykonywania w środowiskach POSIX (Linux i macOS). Używa tego samego formatu obiektu zaczepienia.
secrets N obiekt Mapa azd zmiennych środowiskowych w celu zaczepienia wpisów tajnych. Jeśli zmienna została ustawiona jako wpis tajny w środowisku, wartość wpisu tajnego jest przekazywana do haka.
config N obiekt Konfiguracja specyficzna dla funkcji wykonawczej. Dostępne właściwości zależą od kind wartości. Zobacz Konfiguracja funkcji wykonawczej haka.

Note

Po określeniu runwartości posixwindows i nie można używać właściwości , , continueOnErrorkinddirinteractiveshellsecretsi config na najwyższym poziomie. Zamiast tego użyj obiektów specyficznych dla platformy.

Konfiguracja funkcji wykonawczej haka

Właściwość config akceptuje różne właściwości w zależności od kind wartości.

Konfiguracja języków JavaScript i TypeScript (js, ts)

Majątek Wymagane Typ Opis
packageManager N ciąg Menedżer pakietów do użycia na potrzeby instalacji zależności. Zastępuje automatyczne wykrywanie plików blokady. Dozwolone wartości: npm, pnpm, yarn.

Konfiguracja języka Python

Majątek Wymagane Typ Opis
virtualEnvName N ciąg Nazwa katalogu dla środowiska wirtualnego języka Python. Wartości domyślne do automatycznego wykrywania (.venv, venv) lub {baseName}_env.

Konfiguracja platformy .NET (dotnet)

Majątek Wymagane Typ Opis
configuration N ciąg Konfiguracja programu MSBuild do kompilowania skryptu zaczepienia (na przykład Debug, Release).
framework N ciąg Docelowy pseudonim platformy do kompilowania i uruchamiania skryptu haka (na przykład net8.0, net10.0).

Konfiguracja powłoki (sh, pwsh)

Funkcje wykonawcze powłoki nie obsługują config obecnie właściwości.

Przykłady punktów zaczepienia

Haki specyficzne dla platformy

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

Punkt zaczepienia języka Python z rodzajem

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

Wiele punktów zaczepienia dla pojedynczego zdarzenia

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

requiredVersions

(obiekt) Zapewnia dodatkową konfigurację dla wymaganych wersji azd rozszerzeń i.

Majątek Wymagane Typ Opis
azd N ciąg Zakres obsługiwanych wersji azd dla tego projektu. Jeśli wersja elementu azd znajduje się poza tym zakresem, nie można załadować projektu. Obsługuje składnię zakresu semver.
extensions N obiekt Mapa wymaganych rozszerzeń i ograniczeń wersji dla tego projektu. Obsługuje ograniczenia semver. Jeśli wersja zostanie pominięta, zostanie zainstalowana najnowsza wersja.
requiredVersions:
  azd: ">= 0.6.0-beta.3"
  extensions:
    azure.ai.agents: ">=1.0.0"
    my-extension: latest

state

(obiekt) Zapewnia dodatkową konfigurację zarządzania stanami.

Majątek Wymagane Typ Opis
remote N obiekt Zapewnia dodatkową konfigurację zdalnego zarządzania stanem. Zobacz: state.remote.

state.remote

Majątek Wymagane Typ Opis
backend Y ciąg Typ zaplecza stanu zdalnego. Wartość domyślna: AzureBlobStorage. Dozwolone wartości: AzureBlobStorage.
config Conditional obiekt Konfiguracja specyficzna dla zaplecza. Wymagane, gdy backend ma wartość AzureBlobStorage. Zobacz Konfiguracja usługi Azure Blob Storage.

Konfiguracja usługi Azure Blob Storage

Majątek Wymagane Typ Opis
accountName Y ciąg Nazwa konta Azure Storage.
containerName N ciąg Nazwa kontenera usługi Azure Storage. Wartość domyślna nazwy projektu, jeśli nie zostanie określona.
endpoint N ciąg Punkt końcowy usługi Azure Storage. Wartość domyślna: blob.core.windows.net.
state:
  remote:
    backend: AzureBlobStorage
    config:
      accountName: mystorageaccount
      containerName: azd-state

platform

(obiekt) Udostępnia dodatkową konfigurację funkcji specyficznych dla platformy, takich jak Centrum deweloperów platformy.

Majątek Wymagane Typ Opis
type Y ciąg Typ platformy. Dozwolone wartości: devcenter.
config N obiekt Konfiguracja specyficzna dla platformy. Zobacz Konfiguracja Centrum deweloperów.

Konfiguracja Centrum deweloperów

Dostępne, gdy type ma wartość :devcenter

Majątek Wymagane Typ Opis
name N ciąg Nazwa Centrum deweloperów platformy Azure. Używany jako domyślne centrum deweloperskie dla tego projektu.
project N ciąg Nazwa projektu Centrum deweloperów platformy Azure.
catalog N ciąg Nazwa katalogu centrum deweloperów platformy Azure.
environmentDefinition N ciąg Nazwa definicji środowiska katalogu Centrum deweloperów.
environmentType N ciąg Typ środowiska projektu Centrum deweloperów używany dla środowiska wdrażania.
platform:
  type: devcenter
  config:
    name: my-devcenter
    project: my-project
    catalog: my-catalog
    environmentDefinition: my-env-def
    environmentType: dev

workflows

(obiekt) Zapewnia dodatkową konfigurację przepływów pracy, takich jak zastępowanie azd up zachowania.

Majątek Wymagane Typ Opis
up N obiekt lub tablica Po określeniu azd up zastępuje domyślne zachowanie przepływu pracy.

Kroki przepływu pracy

Przepływ up pracy akceptuje tablicę steps (lub można ją określić bezpośrednio jako tablicę). Każdy krok uruchamia azd polecenie.

Majątek Wymagane Typ Opis
azd Y ciąg lub obiekt Polecenie azd do wykonania. Może być ciągiem (na przykład provision) lub obiektem z tablicą args .

Konfigurowanie kolejności kroku przepływu pracy

Poniższy azure.yaml plik zmienia domyślne zachowanie, azd up aby przenieść azd package krok po azd provision kroku. Użyj tego podejścia w scenariuszach, w których należy znać adresy URL zasobów podczas procesu kompilacji lub pakowania.

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

cloud

(obiekt) Zapewnia dodatkową konfigurację wdrażania w suwerennych chmurach, takich jak Azure Government. Domyślna chmura to AzureCloud.

Majątek Wymagane Typ Opis
name N ciąg Nazwa środowiska chmury. Dozwolone wartości: AzureCloud, AzureChinaCloud, AzureUSGovernment.
cloud:
  name: AzureUSGovernment

Zażądaj pomocy

Aby uzyskać informacje na temat tworzenia usterki, żądania pomocy lub zaproponowania nowej funkcji dla interfejsu wiersza polecenia dla deweloperów platformy Azure, odwiedź stronę rozwiązywania problemów i pomocy technicznej .

Następne kroki