Azure 개발자 CLI(azd)의 결합 기능(composability)을 사용하면 Bicep 코드를 수동으로 작성하지 않고도 앱에 필요한 Azure 리소스를 단계적으로 구성할 수 있습니다. 이 문서에서는 작성 기능을 사용하여 최소 템플릿을 빌드하는 방법을 알아봅니다. 이 기능에 대한 자세한 개념 정보는 작성 개요 문서를 참조하세요.azd
비고
azd 작성 기능은 현재 알파로 되어 있으며 프로덕션 앱에서 사용하면 안 됩니다. 후속 릴리스에서 알파 기능을 변경하면 호환성을 깨는 변경을 초래할 수 있습니다. 자세한 내용은 azd 기능 버전 관리 및 릴리스 전략 및 기능 단계 페이지를 참조하세요. 오른쪽 위에 있는 피드백 단추를 사용하여 기능 및 이 문서에 대한 compose 피드백을 공유합니다.
작성 기능 사용
azd 구성 기능에 azd add 명령을 통해 액세스하십시오. 이 azd add 명령은 다음 azd init 워크플로를 사용하여 만든 템플릿에서 작동합니다.
- 현재 디렉터리의 코드 사용 (호스팅을 위해 Azure Container Apps를 대상으로 하는 앱의 경우)
- 최소 프로젝트 만들기
템플릿 선택 흐름을 통해 초기화된 템플릿은 현재 지원되지 않습니다.
azd 작성 기능은 인프라를 관리하며 기존 infra 폴더 자산이 있는 템플릿과 호환되지 않습니다. 자세한 내용은 Bicep 코드 생성 문서 및 템플릿 만들기 워크플로 페이지를 참조하세요.
코드를 작성하지 않고 템플릿에 새 리소스를 추가하려면 다음 단계를 완료합니다.
터미널 창에서 템플릿의
azd루트로 이동합니다.azd add명령을 실행하여 새 리소스를 추가하고 작성 워크플로를 시작합니다.azd add앱에 추가할 지원되는 리소스 중 하나를 선택합니다. 이 예제에서는 .를 선택합니다
Database.? What would you like to add? [Use arrows to move, type to filter] > AI Database Host service Key Vault Messaging Storage account ~Existing resource데이터베이스 유형에 대해 .를 선택합니다
PostgreSQL.? Which type of database? [Use arrows to move, type to filter] MongoDB > PostgreSQL Redis새 리소스의 이름(예:
azddb.)을 입력합니다.? Input the name of the app database (PostgreSQL)앱에 서비스가
azd포함된 경우 이 리소스를 사용하는 서비스를 선택하라는 메시지가 표시됩니다.? Select the service(s) that uses this resource > [✓] webfrontendazd는 파일에 필요한 변경 내용의 미리 보기를 생성합니다azure.yaml. Enter 키를 눌러 변경 내용을 수락하고 적용합니다.Previewing changes to azure.yaml: + azddata: + type: db.postgres webfrontend: type: host.containerapp uses: - azddb + - azddata port: 80azd up명령을 실행하여azd add명령을 통해 변경한 내용을 프로비전합니다. 이 예제azd에서는 Azure에서 PostgreSQL 데이터베이스를 프로비전합니다.명령을
azd add다시 실행하여 OpenAI 서비스와 같은 다른 리소스를 추가합니다.
azure.yaml 파일 탐색
azure.yaml 는 앱을 관리하는 데 사용하는 구성 파일 azd 입니다.
azd는 azd add 명령을 통해 구성된 서비스 및 리소스를 해당 services 노드와 resources 노드를 사용하여 관리합니다. 다음 예제를 통해 완전히 업데이트된 azure.yaml 파일의 예를 고려합니다.azd add
name: azdcomposesample
metadata:
template: azd-init@1.11.0
services:
webfrontend:
project: src
host: containerapp
language: dotnet
resources:
webfrontend:
type: host.containerapp
port: 80
uses:
- azdsql
- azdchat
azdsql:
type: db.postgres
azdchat:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
- 노드가
services을 선언합니다.- 디렉터리의 .NET 웹앱
webfrontend과 Azure Container Apps 간에 명명된src배포 매핑입니다.
- 디렉터리의 .NET 웹앱
- 노드가
resources을 선언합니다.- Azure 컨테이너 앱과, 호스트된 .NET 컨테이너 앱과 해당 앱이 의존하는 데이터베이스 및 AI 서비스 사이에 명명된
webfrontend의 일치하는 종속성 매핑. 노드는uses앱을 종속된 다른 리소스에 매핑합니다. -
azdsql라는 Azure Database for PostgreSQL 리소스. - 이름이
azdchatAzure OpenAI 리소스입니다.
- Azure 컨테이너 앱과, 호스트된 .NET 컨테이너 앱과 해당 앱이 의존하는 데이터베이스 및 AI 서비스 사이에 명명된