이 azure.yaml 파일은 Azure Developer CLI(azd) 프로젝트의 구성 파일입니다. 프로젝트의 루트에 배치하여 애플리케이션을 구성하는 서비스, Azure 리소스, 인프라, 후크 및 CI/CD 파이프라인을 정의합니다. 또는 CLI와 같은 azd upazd provisionazd deploy명령을 실행하면 CLI는 앱의 구조와 Azure에 배포하는 방법을 이해하기 위해 이 파일을 읽습니다.
이 문서는 azure.yaml 스키마에 대한 전체 참조입니다. 템플릿을 azd 시작하려면 Azure Developer CLI 템플릿 개요를 참조하세요.
견본
다음은 템플릿에 대한 파일의 azure.yaml 일반적인 예입니다 azd . 실제 예제는 ToDo NodeJs Mongo 템플릿을 참조 azure.yaml 하세요.
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
최상위 속성
| 요소 이름 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | 애플리케이션 이름입니다. 소문자, 숫자 및 하이픈(-)만 허용됩니다. 이름은 문자 또는 숫자로 시작하고 끝나야 합니다. |
resourceGroup |
N | 문자열 | Azure 리소스 그룹의 이름입니다. 지정된 경우 인프라 프로비저닝에 사용되는 리소스 그룹 이름을 재정의합니다. 환경 변수 대체를 지원합니다. |
metadata |
N | 객체 | 애플리케이션 템플릿에 대한 메타데이터입니다. |
infra |
N | 객체 | Azure 인프라 프로비저닝에 대한 추가 구성을 제공합니다. |
services |
N | 객체 | 애플리케이션을 구성하는 서비스의 정의입니다. |
resources |
N | 객체 | 애플리케이션에서 사용하는 Azure 리소스의 정의입니다. |
pipeline |
N | 객체 | 연속 통합 파이프라인의 정의입니다. |
hooks |
N | 객체 | 명령에 대한 azd 명령 수준 후크입니다. |
requiredVersions |
N | 객체 | 필요한 버전 azd 및 확장에 대한 추가 구성을 제공합니다. |
state |
N | 객체 | 상태 관리를 위한 추가 구성을 제공합니다. |
platform |
N | 객체 | Azure 개발자 센터와 같은 플랫폼별 기능에 대한 추가 구성을 제공합니다. |
workflows |
N | 객체 | 동작 재정의와 같은 워크플로에 대한 추가 구성을 azd up 제공합니다. |
cloud |
N | 객체 | 소버린 클라우드에 배포하기 위한 추가 구성을 제공합니다. 기본 클라우드는 .입니다 AzureCloud. |
name
(문자열, 필수) 애플리케이션 이름입니다. 소문자, 숫자 및 하이픈(-)만 허용됩니다. 이름은 문자 또는 숫자로 시작하고 끝나야 합니다. 최소 길이: 2자.
name: my-app
resourceGroup
(문자열) Azure 리소스 그룹의 이름입니다. 지정된 경우 인프라 프로비저닝에 사용되는 리소스 그룹 이름을 재정의합니다. 환경 변수 대체를 지원합니다. 3자에서 64자 사이여야 합니다.
resourceGroup: rg-my-app-${AZURE_ENV_NAME}
metadata
(object) 애플리케이션 템플릿에 대한 메타데이터입니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
template |
N | 문자열 | 애플리케이션을 만든 템플릿의 식별자입니다. |
metadata:
template: todo-nodejs-mongo@0.0.1-beta
infra
(object) Azure 인프라 프로비저닝에 대한 추가 구성을 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
provider |
N | 문자열 | 애플리케이션에 대한 Azure 리소스를 프로비전하는 데 사용되는 인프라 프로비저닝 공급자입니다. 기본값: bicep. 허용되는 값: bicep, terraform. |
path |
N | 문자열 | 지정된 공급자에 대한 Azure 프로비저닝 템플릿의 상대 폴더 경로입니다. 기본값: infra. |
module |
N | 문자열 | Azure 프로비저닝 템플릿 내의 기본 모듈 이름입니다. 기본값: main. |
layers |
N | 배열 | Azure 인프라 프로비저닝을 위한 계층.
infra.layers을(를) 참조하세요. |
메모
하나 이상의 항목 path 으로 지정된 경우 layers 및 module 속성을 사용할 수 없습니다. 대신 계층별 path 값과 module 값을 사용합니다.
infra.layers
(개체 배열) Azure 인프라에 대한 프로비저닝 계층을 정의합니다. 각 계층은 독립적인 프로비전 단위를 나타냅니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | 프로비저닝 계층의 이름입니다. |
path |
Y | 문자열 | 지정된 공급자에 대한 Azure 프로비저닝 템플릿의 상대 폴더 경로입니다. |
module |
N | 문자열 | 리소스를 프로비전할 때 사용되는 Azure 프로비전 모듈의 이름입니다. 기본값: main. |
hooks |
N | 객체 | 계층 후크를 프로비전합니다.
preprovision 지원 및 postprovision 후크. 경로를 지정할 때는 계층 경로를 기준으로 해야 합니다.
후크 정의를 참조하세요. |
infra:
provider: bicep
layers:
- name: core
path: ./infra/core
- name: services
path: ./infra/services
hooks:
postprovision:
shell: sh
run: ./scripts/post-provision.sh
Terraform as IaC 공급자 샘플
Bicep 대신 Terraform을 사용하려면 다음으로 providerterraform설정합니다. 자세한 내용은 Terraform을 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
(개체) 애플리케이션을 구성하는 서비스의 정의입니다. 각 키는 서비스 이름이며 값은 서비스 구성 개체입니다.
서비스 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
host |
Y | 문자열 | 서비스 구현에 사용되는 Azure 리소스의 유형입니다. 호스트 형식을 참조하세요. |
project |
Conditional | 문자열 | 서비스 소스 코드 디렉터리의 경로입니다. 대부분의 호스트 형식에 필요합니다. |
image |
Conditional | 문자열 | 원본에서 빌드하는 대신 컨테이너 이미지에 사용할 원본 이미지입니다. 환경 변수 대체를 지원합니다. 호스트에만 containerapp 유효합니다. |
language |
N | 문자열 | 서비스 구현 언어입니다. 허용 값: , , , , , , , dotnet, csharp, . fsharppypythonjstsjavadocker |
module |
N | 문자열 | 루트 인프라 폴더를 기준으로 서비스를 배포하는 데 사용되는 인프라 모듈의 경로입니다. 생략하면 CLI는 모듈 이름이 서비스 이름과 동일하다고 가정합니다. |
dist |
N | 문자열 | 서비스 배포 아티팩트 상대 경로입니다. |
resourceName |
N | 문자열 | 서비스를 구현하는 Azure 리소스의 이름입니다. 기본적으로 CLI는 태그가 현재 서비스의 이름으로 설정된 Azure 리소스 azd-service-name 를 검색합니다. 환경 변수 대체를 지원합니다. |
resourceGroup |
N | 문자열 | 리소스를 포함하는 Azure 리소스 그룹의 이름입니다. 지정된 경우 CLI는 지정된 리소스 그룹 내에서 Azure 리소스를 찾습니다. 환경 변수 대체를 지원합니다. |
remoteBuild |
N | boolean | 함수 앱 배포에 원격 빌드를 사용할지 여부입니다. 은 유효한 경우에만 host 유효합니다 function. 설정 true하면 배포 패키지는 Oryx를 사용하여 원격으로 빌드됩니다.
true JavaScript, TypeScript 및 Python 함수 앱의 기본값입니다. |
docker |
N | 객체 | Docker 구성. 컨테이너 기반 호스트에만 적용됩니다.
docker을(를) 참조하세요. |
k8s |
N | 객체 | AKS 구성 옵션입니다. 은 유효한 경우에만 host 유효합니다 aks.
k8s을(를) 참조하세요. |
config |
N | 객체 | 서비스에 대한 추가 구성 옵션입니다. |
uses |
N | 배열 | 이 서비스가 사용하는 서비스 이름 및 리소스 이름 목록입니다. |
env |
N | 객체 | 값에 대한 환경 변수 이름의 맵입니다. 환경 변수 대체를 지원합니다. |
apiVersion |
N | 문자열 | 배포를 위한 리소스 공급자 API 버전입니다. 은 유효한 경우에만 host 유효합니다 containerapp. |
hooks |
N | 객체 | 서비스 수준 후크. 서비스 후크를 참조하세요. |
Tip
다양한 서비스 구성의 전체 YAML 예제는 서비스 샘플을 참조하세요.
호스트 형식
이 속성은 host 서비스 구현에 사용되는 Azure 리소스의 유형을 결정하고 다른 속성이 유효한지 제어합니다.
| 호스트 값 | 묘사 | 필요함 project |
지원 image |
지원 docker |
지원 k8s |
지원 env |
지원 apiVersion |
|---|---|---|---|---|---|---|---|
appservice |
Azure App Service | Y | N | N | N | N | N |
containerapp |
Azure Container Apps (Azure 컨테이너 애플리케이션) |
project 또는 image (둘 다 아님) |
Y | Y | N | Y | Y |
function |
Azure Functions | Y | N | N | N | N | N |
staticwebapp |
Azure Static Web Apps (Azure 정적 웹 애플리케이션) | Y | N | N | N | N | N |
springapp |
Azure Spring 앱 | Y | N | N | N | N | N |
aks |
Azure Kubernetes Service | N | N | Y | Y | N | N |
ai.endpoint |
Azure AI 온라인 엔드포인트 | Y | N | Y | N | N | N |
azure.ai.agent |
Azure AI 에이전트 | Y | N | Y | N | N | N |
메모
springapp 지원을 사용하려면 알파 기능에 대한 옵트인(opt-in)이 필요합니다. 자세한 내용은 알파 기능을 참조하세요.
메모
이 경우 containerapphost 둘 중 하나 또는 project둘 다 image 제공해야 하지만 둘 다 제공해야 합니다. 설정된 경우 image 컨테이너는 지정된 이미지에서 배포됩니다. 설정된 경우 project 컨테이너 이미지는 원본에서 빌드됩니다.
ai.endpoint 구성
(개체, 필요한 경우 hostai.endpoint) Azure AI 온라인 엔드포인트 배포에 대한 추가 구성을 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
workspace |
N | 문자열 | AI Studio 프로젝트 작업 영역의 이름입니다. 생략하면 azd 환경 변수에 AZUREAI_PROJECT_NAME 지정된 값을 사용합니다. 환경 변수 대체를 지원합니다. |
flow |
N | 객체 | Azure AI Studio 프롬프트 흐름 구성. 생략하면 프롬프트 흐름이 만들어지지 않습니다. AI 구성 요소 구성을 참조하세요. |
environment |
N | 객체 | Azure AI Studio 사용자 지정 환경 구성. 생략하면 사용자 지정 환경이 만들어지지 않습니다. AI 구성 요소 구성을 참조하세요. |
model |
N | 객체 | Azure AI Studio 모델 구성. 생략하면 모델이 만들어지지 않습니다. AI 구성 요소 구성을 참조하세요. |
deployment |
Y | 객체 | Azure AI Studio 온라인 엔드포인트 배포 구성. 새 온라인 엔드포인트 배포가 만들어지고 성공적으로 완료되면 트래픽이 새 배포로 자동으로 이동됩니다. AI 배포 구성을 참조하세요. |
메모
시기 host , ai.endpoint둘 다 project 및 config 필수입니다. 필요한 구성 속성은 구성을 참조 ai.endpoint 하세요.
AI 구성 요소 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | AI 구성 요소의 이름입니다. 생략하면 azd 구성 요소 유형 및 서비스 이름을 기반으로 이름을 생성합니다. 환경 변수 대체를 지원합니다. |
path |
Y | 문자열 | AI 구성 요소 구성 파일 또는 소스 코드의 경로입니다. |
overrides |
N | 객체 | AI 구성 요소 구성을 재정의하는 데 사용되는 키 값 쌍의 맵입니다. 환경 변수 대체를 지원합니다. |
AI 배포 구성
AI 구성 요소 구성에서 모든 속성을 상속하며 다음을 더합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
environment |
N | 객체 | 배포에 대한 환경 변수로 설정할 키/값 쌍의 맵입니다. 값은 OS 및 azd 환경 변수 대체를 지원합니다. |
services:
myendpoint:
project: ./src/endpoint
host: ai.endpoint
config:
workspace: my-ai-project
deployment:
path: ./deployment
environment:
MODEL_NAME: ${AZURE_OPENAI_MODEL}
docker
(object) 서비스에 대한 Docker 구성입니다. 컨테이너(containerapp, , aks,ai.endpointazure.ai.agent)를 지원하는 호스트에만 적용됩니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
path |
N | 문자열 | 서비스에 상대적인 Dockerfile의 경로입니다. 기본값: ./Dockerfile. |
context |
N | 문자열 | Docker 빌드 컨텍스트입니다. 지정하면 기본 컨텍스트를 재정의합니다. 기본값: .. |
platform |
N | 문자열 | 플랫폼 대상입니다. 기본값: amd64. |
registry |
N | 문자열 | 이미지를 푸시할 컨테이너 레지스트리입니다. 생략하면 기본적으로 환경 변수 값 AZURE_CONTAINER_REGISTRY_ENDPOINT 이 지정됩니다. 환경 변수 대체를 지원합니다. |
image |
N | 문자열 | 빌드된 컨테이너 이미지에 적용되는 이름입니다. 생략하면 기본값은 .입니다 {appName}/{serviceName}-{environmentName}. 환경 변수 대체를 지원합니다. |
tag |
N | 문자열 | 빌드된 컨테이너 이미지에 적용되는 태그입니다. 생략하면 기본값은 .입니다 azd-deploy-{unix time (seconds)}. 환경 변수 대체를 지원합니다. |
buildArgs |
N | 문자열 배열 | docker build 명령에 전달할 인수를 빌드합니다. |
network |
N | 문자열 | Docker 빌드 중 RUN 지침에 대한 네트워킹 모드입니다. Docker 빌드에 전달됩니다 --network . 예를 들어 빌드 컨테이너가 호스트 네트워크에 액세스하도록 허용하는 데 사용합니다 host . |
remoteBuild |
N | boolean | 이미지를 원격으로 빌드할지 여부입니다. 설정 true하면 이미지가 Azure Container Registry 원격 빌드 기능을 사용하여 원격으로 빌드됩니다. 원격 빌드가 실패 azd 하면 사용 가능한 경우 Docker 또는 Podman을 사용하여 자동으로 로컬로 빌드로 돌아갑니다. |
k8s
(object) AKS(Azure Kubernetes Service) 구성 옵션입니다. 은 유효한 경우에만 host 유효합니다 aks.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
deploymentPath |
N | 문자열 | 서비스 경로에서 k8s 배포 매니페스트로의 상대 경로입니다. 기본값: manifests. |
namespace |
N | 문자열 | 배포된 리소스의 k8s 네임스페이스입니다. 지정하면 새 k8s 네임스페이스가 아직 없는 경우 만들어집니다. 기본값: 프로젝트 이름입니다. |
deployment |
N | 객체 | k8s 배포 구성입니다. 배포 구성을 참조하세요. |
service |
N | 객체 | k8s 서비스 구성입니다. 서비스 구성을 참조하세요. |
ingress |
N | 객체 | k8s 수신 구성입니다. 수신 구성을 참조하세요. |
helm |
N | 객체 | helm 구성입니다. Helm 구성을 참조하세요. |
kustomize |
N | 객체 | kustomize 구성입니다. Kustomize 구성을 참조하세요. |
배포 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | 배포 중에 사용할 k8s 배포 리소스의 이름입니다. 설정하지 않으면 서비스 이름이 포함된 동일한 네임스페이스에서 배포 리소스를 검색합니다. 기본값: 서비스 이름입니다. |
서비스 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | 기본 서비스 엔드포인트로 사용할 k8s 서비스 리소스의 이름입니다. 설정하지 않으면 서비스 이름이 포함된 동일한 네임스페이스에서 서비스 리소스를 검색합니다. 기본값: 서비스 이름입니다. |
수신 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | 기본 서비스 엔드포인트로 사용할 k8s 수신 리소스의 이름입니다. 설정하지 않으면 서비스 이름을 포함하는 동일한 네임스페이스에서 수신 리소스를 검색합니다. 기본값: 서비스 이름입니다. |
relativePath |
N | 문자열 | 수신 컨트롤러의 루트에서 서비스에 대한 상대 경로입니다. 설정되면 수신 리소스 경로의 루트에 추가됩니다. |
Helm 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
repositories |
N | 배열 | 추가할 helm 리포지토리입니다. |
releases |
N | 배열 | 설치할 helm 릴리스입니다. |
repositories 배열 항목:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | Helm 리포지토리의 이름입니다. |
url |
Y | 문자열 | Helm 리포지토리의 URL입니다. |
releases 배열 항목:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | Helm 릴리스의 이름입니다. |
chart |
Y | 문자열 | Helm 차트의 이름입니다. |
version |
N | 문자열 | Helm 차트의 버전입니다. |
namespace |
N | 문자열 | helm 차트를 설치할 k8s 네임스페이스입니다. 기본값은 서비스 네임스페이스입니다. |
values |
N | 문자열 | 서비스에서 helm 차트로 values.yaml 전달할 상대 경로입니다. |
Kustomize 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
dir |
N | 문자열 | kustomize 디렉터리에 대한 상대 경로입니다. 환경 변수 대체를 지원합니다. |
edits |
N | 문자열 배열 | 배포 전에 적용할 kustomize 편집입니다. 환경 변수 대체를 지원합니다. |
env |
N | 객체 | kustomize 디렉터리에서 파일을 생성하는 .env 데 사용되는 환경 키/값 쌍입니다. 값은 환경 변수 대체를 지원합니다. |
서비스 연결고리
서비스 수준 후크는 서비스 수명 주기 이벤트 중에 실행됩니다. 후크는 접두 pre 사 또는 post. 경로를 지정할 때는 서비스 경로를 기준으로 해야 합니다. 자세한 내용은 명령 및 이벤트 후크 사용하여 Azure 개발자 CLI 워크플로 사용자 지정 참조하세요.
지원되는 서비스 후크: prerestore,postrestore, prebuild,prepackagepostbuild, postpackage, prepublishpostpublish, predeploypostdeploy.
각 후크는 후크 정의 형식을 사용합니다.
서비스 샘플
Docker 옵션이 있는 Container Apps
services:
api:
project: ./src/api
language: js
host: containerapp
docker:
path: ./Dockerfile
context: ../
web:
project: ./src/web
language: js
host: containerapp
docker:
remoteBuild: true
미리 빌드된 이미지의 Container Apps
services:
api:
image: myregistry.azurecr.io/myapp:latest
host: containerapp
서비스 수준 후크가 있는 AKS
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
(object) 애플리케이션에서 사용하는 Azure 리소스의 정의입니다. 각 키는 리소스 이름이며 값은 리소스 구성 개체입니다. 리소스는 속성을 통해 uses 서비스에서 참조할 수 있습니다.
일반적인 리소스 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
type |
Y | 문자열 | 리소스의 종류. 리소스 유형을 참조하세요. |
uses |
N | 배열 | 이 리소스가 의존하는 다른 리소스입니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
Tip
여러 리소스 유형을 결합하는 전체 YAML 예제는 리소스 샘플을 참조하세요.
리소스 유형
속성은 type Azure 리소스의 종류를 결정하고 사용할 수 있는 추가 속성을 제어합니다.
| 형식 값 | 묘사 | 추가 속성 |
|---|---|---|
host.appservice |
Azure App Service 웹앱 |
속성을 참조하세요host.appservice. |
host.containerapp |
Docker 기반 컨테이너 앱 |
속성을 참조하세요host.containerapp. |
ai.openai.model |
배포된 즉시 사용할 수 있는 AI 모델 |
속성을 참조하세요ai.openai.model. |
ai.project |
모델이 있는 Microsoft Foundry 프로젝트 |
속성을 참조하세요ai.project. |
ai.search |
Azure AI 검색 |
속성을 참조하세요ai.search. |
db.postgres |
PostgreSQL용 Azure 데이터베이스 | 추가 속성이 없습니다. |
db.mysql |
Azure Database for MySQL (MySQL을 위한 Azure 데이터베이스) | 추가 속성이 없습니다. |
db.redis |
Azure Cache for Redis (Redis를 위한 Azure 캐시) | 추가 속성이 없습니다. |
db.mongo |
MongoDB에 대한 Azure Cosmos DB | 추가 속성이 없습니다. |
db.cosmos |
NoSQL을 위한 Azure Cosmos DB |
속성을 참조하세요db.cosmos. |
messaging.eventhubs |
Azure Event Hubs 네임스페이스 |
속성을 참조하세요messaging.eventhubs. |
messaging.servicebus |
Azure Service Bus 네임스페이스 |
속성을 참조하세요messaging.servicebus. |
storage |
Azure 스토리지 계정 |
속성을 참조하세요storage. |
keyvault |
Azure Key Vault (애저 키 볼트) |
속성을 참조하세요keyvault. |
host.appservice 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
port |
N | 정수 (integer) | 웹앱이 수신 대기하는 포트입니다. 기본값: 80. |
runtime |
Y | 객체 | 언어 런타임 구성입니다. 아래를 참조하십시오. |
env |
N | 배열 | 환경 변수입니다. 각 항목에는 name (필수) value및 속성이 있습니다 secret . 환경 변수 대체를 지원합니다. |
startupCommand |
N | 문자열 | 웹앱 시작의 일부로 실행되는 시작 명령입니다. |
uses |
N | 문자열 배열 | 이 리소스에서 사용하는 기타 리소스입니다. |
runtime 개체:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
stack |
Y | 문자열 | 언어 런타임 스택입니다. 허용되는 값: node, python. |
version |
Y | 문자열 | 언어 런타임 버전입니다. 형식은 스택에 따라 다릅니다(예 22-lts : 노드, 3.13 Python의 경우). |
resources:
web:
type: host.appservice
port: 8080
runtime:
stack: node
version: 22-lts
uses:
- db
host.containerapp 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
port |
N | 정수 (integer) | 컨테이너 앱이 수신 대기하는 포트입니다. 기본값: 80. |
env |
N | 배열 | 환경 변수입니다. 각 항목에는 name (필수) value및 속성이 있습니다 secret . 환경 변수 대체를 지원합니다. |
uses |
N | 문자열 배열 | 이 리소스에서 사용하는 기타 리소스입니다. |
ai.openai.model 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
model |
Conditional | 객체 | 기본 AI 모델입니다.
existing이 false인 경우 필요합니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
model 개체:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | AI 모델의 이름입니다. |
version |
Y | 문자열 | AI 모델의 버전입니다. |
resources:
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
ai.project 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
models |
N | 배열 | AI 프로젝트의 일부로 배포할 AI 모델입니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
models 배열 항목:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | AI 모델의 이름입니다. |
version |
Y | 문자열 | AI 모델의 버전입니다. |
format |
Y | 문자열 | AI 모델의 형식입니다(예: |
sku |
Y | 객체 | AI 모델에 대한 SKU 구성입니다. |
sku 개체:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | SKU의 이름입니다(예: GlobalStandard). |
usageName |
Y | 문자열 | 청구 목적으로 SKU의 사용 이름입니다(예: OpenAI.GlobalStandard.gpt-4o-mini). |
capacity |
Y | 정수 (integer) | SKU의 용량입니다. |
ai.search 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
db.cosmos 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
containers |
N | 배열 | 데이터를 저장할 컨테이너입니다. 각 컨테이너는 항목 컬렉션을 저장합니다. |
containers 배열 항목:
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
Y | 문자열 | 컨테이너의 이름입니다. |
partitionKeys |
Y | 배열 | 파티션 간에 데이터를 분산하는 데 사용되는 파티션 키입니다. 최대 3개 키. 기본값: /id. |
messaging.eventhubs 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
hubs |
N | 문자열 배열 | Event Hubs 네임스페이스에서 만들 허브 이름입니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
messaging.servicebus 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
queues |
N | 문자열 배열 | Service Bus 네임스페이스에서 만들 큐 이름입니다. |
topics |
N | 문자열 배열 | Service Bus 네임스페이스에서 만들 토픽 이름입니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
storage 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
containers |
N | 문자열 배열 | Azure Storage 계정 컨테이너 이름입니다. |
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
keyvault 속성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
existing |
N | boolean | 이 리소스로 true설정하면 이 리소스가 만들어지지 않고 대신 참조 용도로 사용됩니다. 기본값: false. |
리소스 샘플
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
(개체) 연속 통합 파이프라인의 정의입니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
provider |
N | 문자열 | 연속 통합에 사용할 파이프라인 공급자입니다. 기본값: github. 허용되는 값: github, azdo. |
variables |
N | 문자열 배열 |
azd 파이프라인에서 변수로 사용할 환경 변수 목록입니다. |
secrets |
N | 문자열 배열 |
azd 파이프라인에서 비밀로 사용할 환경 변수 목록입니다. |
pipeline:
provider: azdo
variables:
- CUSTOM_SETTING
secrets:
- API_KEY
hooks
(object) 명령 수준 후크입니다. 후크는 스크립트가 실행되어야 하는 시기에 따라 azd 또는 pre 접두사로 post 명령 이름과 일치해야 합니다. 경로를 지정할 때는 프로젝트 경로를 기준으로 해야 합니다. 자세한 내용은 명령 및 이벤트 후크 사용하여 Azure 개발자 CLI 워크플로 사용자 지정 참조하세요.
지원되는 명령 후크: preprovision,postprovision, ,postinfracreatepreinfracreate, preinfradelete, predownpostinfradelete, postdown, preuppostup, prepackage, prepublishpostpackagepostpublish, predeploy, postdeploy, prerestore. postrestore
각 후크는 후크 정의 형식을 사용합니다.
Tip
플랫폼별 후크 , 형식화된 실행기 및 이벤트당 여러 후크를 포함한 전체 YAML 예제는 후크 샘플을 참조하세요.
hooks:
preprovision:
shell: sh
run: ./scripts/setup.sh
postdeploy:
shell: sh
run: azd env set APP_URL ${SERVICE_WEB_ENDPOINT_URL}
후크 정의
후크는 단일 후크 개체 또는 후크 개체 배열일 수 있습니다. 각 후크 개체에는 다음과 같은 속성이 있습니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
run |
Conditional | 문자열 | 스크립트의 인라인 스크립트 또는 상대 경로입니다. , , kind, continueOnErrorinteractivedirsecrets또는 config를 지정할 shell때 필요합니다. 인라인 스크립트를 지정할 때 사용할 스크립트도 지정 shell 해야 합니다. 파일 경로를 사용할 때 셸이 자동으로 유추됩니다. |
shell |
N | 문자열 | 스크립트를 실행할 셸의 유형입니다. 기본값: sh. 허용되는 값: sh, pwsh. |
kind |
N | 문자열 | 후크 스크립트에 대한 실행기 종류입니다. 생략하면 경로의 run 파일 확장명에서 종류가 자동으로 검색됩니다(예: .ps1.pypython가 됩니다pwsh). 허용되는 값: sh, pwsh, js, ts, python, dotnet. |
dir |
N | 문자열 | 후크 실행을 위한 작업 디렉터리입니다. 종속성 설치를 위한 프로젝트 루트로 사용되며 스크립트를 실행할 때 작업 디렉터리로 사용됩니다. 상대 경로는 프로젝트 또는 서비스 루트에서 확인됩니다. 생략하면 기본적으로 스크립트 파일이 포함된 디렉터리가 사용됩니다. |
continueOnError |
N | boolean | 스크립트 오류가 명령을 중지하는지 여부입니다 azd . 기본값: false. |
interactive |
N | boolean | 스크립트가 대화형 모드에서 실행되는지 여부, 바인딩, stdinstdoutstderr 실행 중인 콘솔의 바인딩 여부입니다. 기본값: false. |
windows |
N | 객체 | 지정된 경우 Windows 환경에서 실행될 때 후크 구성을 재정의합니다. 동일한 후크 개체 형식을 사용합니다. |
posix |
N | 객체 | 지정된 경우 POSIX(Linux 및 macOS) 환경에서 실행될 때 후크 구성을 재정의합니다. 동일한 후크 개체 형식을 사용합니다. |
secrets |
N | 객체 | 비밀을 후크하는 환경 변수의 맵 azd 입니다. 환경에서 변수가 비밀로 설정된 경우 비밀 값이 후크에 전달됩니다. |
config |
N | 객체 | 실행기별 구성입니다. 사용 가능한 속성은 값에 kind 따라 달라집니다.
후크 실행기 구성을 참조하세요. |
메모
둘 다 windows 지정되면 최상위 수준에서 , , shellkind, interactivedir, , continueOnError, secrets및 config 속성을 사용할 수 없습니다.runposix 대신 플랫폼별 개체를 사용합니다.
후크 실행기 구성
이 속성은 config 값에 kind 따라 다른 속성을 허용합니다.
JavaScript 및 TypeScript(js, ts) 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
packageManager |
N | 문자열 | 종속성 설치에 사용할 패키지 관리자입니다. 잠금 파일에서 자동 검색을 재정의합니다. 허용되는 값: npm, pnpm, yarn. |
Python 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
virtualEnvName |
N | 문자열 | Python 가상 환경의 디렉터리 이름입니다. 기본값은 자동 검색(.venv, venv) 또는 {baseName}_env. |
.NET(dotnet) 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
configuration |
N | 문자열 | 후크 스크립트를 빌드하기 위한 MSBuild 구성입니다(예: |
framework |
N | 문자열 | 후크 스크립트를 빌드하고 실행하기 위한 대상 프레임워크 모니커입니다(예: net8.0net10.0 |
Shell(sh, pwsh) 구성
셸 실행기는 현재 속성을 지원하지 config 않습니다.
후크 샘플
플랫폼별 후크
hooks:
preprovision:
windows:
shell: pwsh
run: ./scripts/setup.ps1
posix:
shell: sh
run: ./scripts/setup.sh
종류가 있는 Python 후크
hooks:
postprovision:
kind: python
run: ./scripts/seed-data.py
dir: ./scripts
config:
virtualEnvName: .venv
단일 이벤트에 대한 여러 후크
hooks:
postprovision:
- shell: sh
run: ./scripts/step1.sh
- shell: sh
run: ./scripts/step2.sh
requiredVersions
(object) 필요한 버전 azd 및 확장에 대한 추가 구성을 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
azd |
N | 문자열 | 이 프로젝트에 대해 지원되는 azd 버전 범위입니다. 버전 azd 이 이 범위를 벗어나면 프로젝트를 로드하지 못합니다. 셈버 범위 구문을 지원합니다. |
extensions |
N | 객체 | 이 프로젝트에 필요한 확장 및 버전 제약 조건의 맵입니다. semver 제약 조건을 지원합니다. 버전을 생략하면 최신 버전이 설치됩니다. |
requiredVersions:
azd: ">= 0.6.0-beta.3"
extensions:
azure.ai.agents: ">=1.0.0"
my-extension: latest
state
(object) 상태 관리를 위한 추가 구성을 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
remote |
N | 객체 | 원격 상태 관리를 위한 추가 구성을 제공합니다.
state.remote을(를) 참조하세요. |
state.remote
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
backend |
Y | 문자열 | 원격 상태 백 엔드 형식입니다. 기본값: AzureBlobStorage. 허용되는 값: AzureBlobStorage. |
config |
Conditional | 객체 | 백 엔드별 구성입니다.
backend이 AzureBlobStorage인 경우 필요합니다.
Azure Blob Storage 구성을 참조하세요. |
Azure Blob Storage 구성
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
accountName |
Y | 문자열 | Azure Storage 계정 이름입니다. |
containerName |
N | 문자열 | Azure Storage 컨테이너 이름입니다. 지정하지 않으면 기본적으로 프로젝트 이름으로 설정됩니다. |
endpoint |
N | 문자열 | Azure Storage 엔드포인트입니다. 기본값: blob.core.windows.net. |
state:
remote:
backend: AzureBlobStorage
config:
accountName: mystorageaccount
containerName: azd-state
platform
(object) Azure 개발자 센터와 같은 플랫폼별 기능에 대한 추가 구성을 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
type |
Y | 문자열 | 플랫폼 유형입니다. 허용되는 값: devcenter. |
config |
N | 객체 | 플랫폼별 구성. 개발자 센터 구성을 참조하세요. |
개발자 센터 구성
다음과 같은 경우에 type 사용할 수 있습니다.devcenter
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | Azure 개발자 센터의 이름입니다. 이 프로젝트의 기본 개발 센터로 사용됩니다. |
project |
N | 문자열 | Azure 개발자 센터 프로젝트의 이름입니다. |
catalog |
N | 문자열 | Azure 개발자 센터 카탈로그의 이름입니다. |
environmentDefinition |
N | 문자열 | 개발자 센터 카탈로그 환경 정의의 이름입니다. |
environmentType |
N | 문자열 | 배포 환경에 사용되는 개발자 센터 프로젝트 환경 유형입니다. |
platform:
type: devcenter
config:
name: my-devcenter
project: my-project
catalog: my-catalog
environmentDefinition: my-env-def
environmentType: dev
workflows
(object) 동작 재정의와 같은 워크플로에 대한 추가 구성을 azd up 제공합니다.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
up |
N | 개체 또는 배열 | 지정된 경우 워크플로의 기본 동작을 재정의합니다 azd up . |
워크플로 단계
워크플로는 up 배열을 steps 허용하거나 배열로 직접 지정할 수 있습니다. 각 단계에서는 명령을 실행합니다 azd .
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
azd |
Y | 문자열 또는 개체 | 실행할 명령입니다 azd . 문자열(예: provision)이거나 배열이 있는 개체일 args 수 있습니다. |
워크플로 단계 순서 구성
다음 azure.yaml 파일은 단계 후 단계를 이동하는 기본 동작 azd up 을 azd package 변경합니다 azd provision . 빌드 또는 패키징 프로세스 중에 리소스의 URL을 알아야 하는 시나리오에서 이 방법을 사용합니다.
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
workflows:
up:
steps:
- azd: provision
- azd: package
- azd: deploy --all
cloud
(object) Azure Government와 같은 소버린 클라우드에 배포하기 위한 추가 구성을 제공합니다. 기본 클라우드는 .입니다 AzureCloud.
| 재산 | 필수 | 형 | 묘사 |
|---|---|---|---|
name |
N | 문자열 | 클라우드 환경 이름입니다. 허용되는 값: AzureCloud, AzureChinaCloud, AzureUSGovernment. |
cloud:
name: AzureUSGovernment
도움말 요청
버그를 제출하거나, 도움말을 요청하거나, Azure 개발자 CLI에 대한 새 기능을 제안하는 방법에 대한 자세한 내용은 문제 해결 및 지원 페이지를 참조하세요.