azd шаблонов являются репозиториями схемы, которые включают код приложения проверки концепции, конфигурации редактора или интегрированной среды разработки и код инфраструктуры, написанный в Bicep или Terraform. Эти шаблоны предназначены для изменения и адаптации для конкретных требований приложения, а затем используются для получения приложения в Azure с помощью Интерфейса командной строки разработчика Azure (azd). Схема azure.yaml определяет и описывает приложения и типы ресурсов Azure, включенные в эти шаблоны.
Образец
Ниже приведен универсальный пример azure.yaml, необходимый для шаблона azd.
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web # path to your web project
dist: build # relative path to service deployment artifacts
language: js # one of the supported languages
host: appservice # one of the supported Azure services
(строка) имя группы ресурсов Azure. При указании переопределит имя группы ресурсов, используемое для подготовки инфраструктуры.
metadata
N
(объект) дополнительные сведения см. в свойствах метаданных.
infra
N
(объект) Предоставляет дополнительную конфигурацию для подготовки инфраструктуры Azure. Дополнительные сведения см. в свойствах инфраструктуры.
services
Y
(объект) определение служб, составляющих приложение. Дополнительные сведения см. в свойствах служб.
pipeline
N
(объект) определение конвейера непрерывной интеграции. Дополнительные сведения см. в свойств конвейера.
hooks
N
Перехватчики уровня команд. Перехватчики должны соответствовать именам команд azd с префиксом pre или post в зависимости от того, когда скрипт должен выполняться. При указании путей они должны быть относительными к пути проекта. Дополнительные сведения см. в статье Настройка рабочих процессов azure Developer CLI с помощью команд и событий.
requiredVersions
N
Диапазон поддерживаемых версий azd для этого проекта. Если версия azd находится за пределами этого диапазона, проект не будет загружен. Необязательный параметр (разрешает все версии, если отсутствуют). Пример: >= 0.6.0-beta.3
свойства metadata
Имя элемента
Обязательно
Описание
Пример
template
N
(строка) идентификатор шаблона, из которого было создано приложение.
todo-nodejs-mongo@0.0.1-beta
свойства infra
Имя элемента
Обязательно
Описание
Пример
provider
N
(строка) поставщик инфраструктуры для ресурсов Azure приложения. (По умолчанию: bicep).
(строка) имя ресурса Azure, реализующего службу. Если это не указано, azd будет искать ресурс по azd-env-name и azd-service-name тегам. Если он не найден, он будет искать имя ресурса, созданное из текущего имени среды, сцеплено с именем службы (<environment-name><resource-name>).
prodapi
project
Y
(строка) пути к каталогу исходного кода службы.
host
Y
(строка) тип ресурса Azure, используемого для реализации службы. Если опущено, служба приложений будет предполагаться.
appservice, containerapp, function, staticwebapp, aks (только для проектов, развертываемых с помощью kubectl apply -f), springapp (если включен - узнайте больше о альфа-функциях)
language
Y
(строка) языке реализации службы.
dotnet, csharp, fsharp, py, python, js, ts, java
module
Y
(строка) пути модуля инфраструктуры, используемого для развертывания службы относительно корневой папки инфраструктуры. Если опущено, интерфейс командной строки предполагает, что имя модуля совпадает с именем службы.
dist
Y
(строка) относительный путь к артефактам развертывания службы. Интерфейс командной строки будет использовать файлы в этом пути для создания артефакта развертывания (.zip файла). Если опущено, все файлы в каталоге проекта службы будут включены.
build
docker
N
Применимо только в том случае, если hostcontainerapp. Не удается содержать дополнительные свойства.
Ознакомьтесь с примером docker ниже.
path(строка): путь к Dockerfile. По умолчанию: ./Dockerfile; context(строка): контекст сборки Docker. При указании переопределяет контекст по умолчанию. По умолчанию: .;platform(строка) — целевой объект платформы. По умолчанию: amd64; remoteBuild(логическое): включает удаленные сборки ACR. По умолчанию: false
k8s
N
Параметры конфигурации службы Azure Kubernetes (AKS).
См. пример AKS ниже.
deploymentPath(строка): необязательно. Относительный путь от пути службы к манифестам развертывания k8s. При установке он переопределит расположение пути развертывания по умолчанию для манифестов развертывания k8s. По умолчанию: manifests; namespace(строка): необязательно. Пространство имен k8s развернутых ресурсов. При указании создается новое пространство имен k8s, если оно еще не существует. По умолчанию: Project name; deployment(объект): см. свойства развертывания; service(объект): см. свойств службы; ingress(объект): см. свойства входящего трафика.
hooks
N
Перехватчики уровня обслуживания. Перехватчики должны совпадать с именами событий service, префиксами pre или post в зависимости от того, когда скрипт должен выполняться. При указании путей они должны быть относительными к пути службы.
Укажите явный api-version при развертывании служб, размещенных в приложениях контейнеров Azure (ACA). Эта функция помогает избежать использования несовместимой версии API и упрощает развертывание, чтобы избежать потери пользовательских данных конфигурации во время маршалинга JSON в жестко закодированную версию библиотеки пакета SDK Azure.
apiVersion: 2024-02-02-preview
Пример параметров Docker
В следующем примере мы объявляем параметры Docker для приложения-контейнера.
(строка) необязательно. Имя ресурса развертывания k8s, используемого во время развертывания. Используется во время развертывания, чтобы убедиться, что развертывание развертывания k8s завершено. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. По умолчанию: Service name
api
Свойства service AKS
Имя элемента
Обязательно
Описание
Пример
name
N
(строка) необязательно. Имя ресурса службы k8s, используемого в качестве конечной точки службы по умолчанию. Используется при определении конечных точек для ресурса службы по умолчанию. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. (По умолчанию: имя службы)
api
Свойства ingress AKS
Имя элемента
Обязательно
Описание
Пример
name
N
(строка) необязательно. Имя ресурса входящего трафика k8s, используемого в качестве конечной точки службы по умолчанию. Используется при определении конечных точек для ресурса входящего трафика по умолчанию. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. По умолчанию: Service name
api
relativePath
N
(строка) необязательно. Относительный путь к службе из корня контроллера входящего трафика. Если задано, он будет добавлен в корневой каталог пути к ресурсу входящего трафика.
Пример AKS с перехватчиками уровня обслуживания
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
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}
свойства pipeline
Имя элемента
Обязательно
Описание
Пример
provider
N
(строка) поставщик конвейера, который будет использоваться для непрерывной интеграции. (по умолчанию: github).
github, azdo
Azure Pipelines (AzDo) в качестве примера конвейера CI/CD
При указании будет переопределяться поведение по умолчанию для рабочего процесса azd up.
свойства up
Имя элемента
Тип
Обязательно
Описание
стремянка
массив
Да
Действия, выполняемые в рабочем процессе.
свойства steps
Имя элемента
Тип
Обязательно
Описание
azd
струна
Да
Имя и args команды azd для выполнения.
Пример рабочего процесса
Следующий azure.yaml файл изменяет поведение azd up по умолчанию для перемещения шага azd package после azd provision шага с помощью рабочего процесса. Этот пример можно использовать в сценариях, где необходимо знать URL-адреса ресурсов во время сборки или упаковки.
Сведения о том, как отправить ошибку, запросить справку или предложить новую функцию для Интерфейса командной строки разработчика Azure, перейдите на страницу устранения неполадок и поддержки.