Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Файл azure.yaml — это файл конфигурации для проектов Интерфейса командной строки разработчика Azure (azd). Поместите его в корень проекта, чтобы определить службы, ресурсы Azure, инфраструктуру, перехватчики и конвейер CI/CD, составляющие приложение. При выполнении таких команд, как azd up, azd provisionили azd deployинтерфейс командной строки считывает этот файл, чтобы понять структуру приложения и как развернуть его в Azure.
В этой статье приведен полный справочник по схеме azure.yaml. Сведения о начале работы с шаблонами см. в разделе "Общие сведения о azdшаблонах cli разработчика Azure".
Образец
Ниже приведен универсальный пример azure.yaml файла для azd шаблона. Пример реального мира см azure.yaml . в шаблоне 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
Свойства верхнего уровня
| Имя элемента | Обязательно | Тип | Описание |
|---|---|---|---|
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
(объект) Метаданные шаблона приложения.
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
template |
N | струна | Идентификатор шаблона, из которого было создано приложение. |
metadata:
template: todo-nodejs-mongo@0.0.1-beta
infra
(объект) Предоставляет дополнительную конфигурацию для подготовки инфраструктуры Azure.
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
provider |
N | струна | Поставщик подготовки инфраструктуры, используемый для подготовки ресурсов Azure для приложения. По умолчанию: bicep. Допустимые значения: bicep, terraform. |
path |
N | струна | Относительный путь к шаблонам подготовки Azure для указанного поставщика. По умолчанию: infra. |
module |
N | струна | Имя модуля по умолчанию в шаблонах подготовки Azure. По умолчанию: main. |
layers |
N | массив | Слои для подготовки инфраструктуры Azure. См. infra.layers. |
Note
Если layers указано по крайней мере с одним элементом, path нельзя использовать свойства и module свойства. Вместо этого используйте определенные path уровни и module значения.
infra.layers
(массив объектов) Определяет уровни подготовки для инфраструктуры Azure. Каждый слой представляет собой независимую единицу подготовки.
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя слоя подготовки. |
path |
Y | струна | Относительный путь к шаблонам подготовки Azure для указанного поставщика. |
module |
N | струна | Имя модуля подготовки Azure, используемого при подготовке ресурсов. По умолчанию: main. |
dependsOn |
N | массив строк | Имена других слоев этого слоя зависят от. Используется для объявления зависимостей с помощью перехватчика (например, когда postprovision крючок в другом слое записывает env var, который bicepparam этого слоя считывает во время подготовки), что azdстатический анализатор не может выводить из.parameters.json.bicep / .bicepparam / содержимого. |
hooks |
N | объект | Перехватчики слоя подготовки. Поддерживает preprovision и postprovision перехватчики. При указании путей они должны быть относительно пути слоя. См. определение перехватчика. |
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 в качестве поставщика IaC
Чтобы использовать Terraform вместо Bicep, задайте для него provider значение terraform. Дополнительные сведения см. в статье Об использовании 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, csharpfsharppy. pythonjstsjavadocker |
module |
N | струна | Путь к модулю инфраструктуры, используемому для развертывания службы относительно корневой папки инфраструктуры. Если опущено, интерфейс командной строки предполагает, что имя модуля совпадает с именем службы. |
dist |
N | струна | Относительный путь к артефактам развертывания службы. |
resourceName |
N | струна | Имя ресурса Azure, реализующего службу. По умолчанию интерфейс командной строки обнаруживает ресурс Azure с тегом azd-service-name , заданным для имени текущей службы. Поддерживает подстановку переменных среды. |
resourceGroup |
N | струна | Имя группы ресурсов Azure, содержащей ресурс. При указании ИНТЕРФЕЙС командной строки находит ресурс 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 | Y | N | N | N | N | N |
containerapp |
Приложения-контейнеры Azure |
project или image (не оба) |
Y | Y | N | Y | Y |
function |
Функции Azure | Y | N | N | N | N | N |
staticwebapp |
Статические веб-приложения Azure | Y | N | N | N | N | N |
springapp |
Приложения Azure Spring | Y | N | N | N | N | N |
aks |
Служба Azure Kubernetes | N | N | Y | Y | N | N |
ai.endpoint |
Конечная точка Azure AI Online | Y | N | Y | N | N | N |
azure.ai.agent |
Агент ИИ Azure | Y | N | Y | N | N | N |
Note
springapp для поддержки требуется согласие на альфа-функции. Дополнительные сведения см. в разделе "Альфа-функции".
Note
Если host это containerappтак, необходимо указать либо image или project, но не оба. Если image задано, контейнер развертывается из указанного образа. Если project задано, образ контейнера создается из источника.
ai.endpoint конфигурация
(объект, обязательный при host использовании ai.endpoint) Предоставляет дополнительную конфигурацию для развертывания веб-конечной точки ИИ Azure.
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
workspace |
N | струна | Имя рабочей области проекта AI Studio. При опущении использует значение, azd указанное в переменной AZUREAI_PROJECT_NAME среды. Поддерживает подстановку переменных среды. |
flow |
N | объект | Конфигурация потока запроса Azure AI Studio. При опущении поток запроса не создается. См. конфигурацию компонента ИИ. |
environment |
N | объект | Конфигурация пользовательской среды Azure AI Studio. При опущении пользовательская среда не создается. См. конфигурацию компонента ИИ. |
model |
N | объект | Конфигурация модели Azure AI Studio. При опущении модель не создается. См. конфигурацию компонента ИИ. |
deployment |
Y | объект | Конфигурация развертывания конечной точки Azure AI Studio online. Создается новое развертывание конечной точки в Сети, и трафик автоматически перемещается в новое развертывание после успешного завершения. См. конфигурацию развертывания ИИ. |
Note
При host наличии ai.endpointproject обоих и config обязательных. См ai.endpoint . конфигурацию необходимых свойств конфигурации.
Конфигурация компонента ИИ
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
N | струна | Имя компонента ИИ. Если опущено, azd создается имя на основе типа компонента и имени службы. Поддерживает подстановку переменных среды. |
path |
Y | струна | Путь к файлу конфигурации компонента ИИ или исходному коду. |
overrides |
N | объект | Карта пар ключевых значений, используемая для переопределения конфигурации компонента ИИ. Поддерживает подстановку переменных среды. |
Конфигурация развертывания ИИ
Наследует все свойства из конфигурации компонента ИИ, а также:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
environment |
N | объект | Карта пар "ключ-значение", устанавливаемая в качестве переменных среды для развертывания. Значения поддерживают подстановку ос и azd переменных среды. |
services:
myendpoint:
project: ./src/endpoint
host: ai.endpoint
config:
workspace: my-ai-project
deployment:
path: ./deployment
environment:
MODEL_NAME: ${AZURE_OPENAI_MODEL}
docker
(объект) Конфигурация 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. |
network |
N | струна | Сетевой режим для инструкций RUN во время сборки Docker. Передано как --network в сборку Docker. Например, используйте host для разрешения контейнера сборки доступ к сети узла. |
remoteBuild |
N | boolean | Следует ли удаленно создавать образ. Если задано значение true, образ создается удаленно с помощью функции удаленной сборки реестра контейнеров Azure. Если удаленная сборка завершается ошибкой, azd автоматически возвращается к созданию локально с помощью Docker или Podman, если он доступен. |
k8s
(объект) Параметры конфигурации службы Azure Kubernetes (AKS). Допустимо только в том 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 | струна | URL-адрес репозитория helm. |
releases Элементы массива:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя выпуска helm. |
chart |
Y | струна | Имя диаграммы helm. |
version |
N | струна | Версия диаграммы helm. |
namespace |
N | струна | Пространство имен k8s для установки диаграммы helm. По умолчанию используется пространство имен службы. |
values |
N | струна | Относительный values.yaml путь от службы к диаграмме helm. |
Конфигурация Kustomize
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
dir |
N | струна | Относительный путь к каталогу kustomize. Поддерживает подстановку переменных среды. |
edits |
N | массив строк | Изменения kustomize, применяемые перед развертыванием. Поддерживает подстановку переменных среды. |
env |
N | объект | Пары "Ключ-значение среды", используемые для создания .env файла в каталоге kustomize. Значения поддерживают подстановку переменных среды. |
Механизмы сервисных подключений
Перехватчики уровня обслуживания выполняются во время событий жизненного цикла службы. Перехватчики должны совпадать с именами событий службы, префиксами или prepost. При указании путей они должны быть относительно пути службы. Дополнительные сведения см. в статье Настройка рабочих процессов azure Developer CLI с помощью команд и событий.
Поддерживаемые перехватчики служб: prerestore, postrestoreprebuildpostbuildprepackagepostpackageprepublishpostpublish, . predeploypostdeploy
Каждый перехватчик использует формат определения перехватчика .
Примеры служб
Контейнерные приложения с параметрами 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
Приложения-контейнеры из предварительно созданного образа
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
(объект) Определение ресурсов Azure, используемых приложением. Каждый ключ — это имя ресурса, а значение — объект конфигурации ресурсов. Ресурсы можно ссылаться на службы через uses свойство.
Общие свойства ресурса
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
type |
Y | струна | Тип ресурса. См. сведения о типах ресурсов. |
uses |
N | массив | Другие ресурсы, от которые зависит этот ресурс. |
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
Tip
См. пример ресурсов для полного примера YAML, объединяющего несколько типов ресурсов.
Типы ресурсов
Свойство type определяет тип ресурса Azure и управляет доступными дополнительными свойствами.
| Значение типа | Описание | Дополнительные свойства |
|---|---|---|
host.appservice |
Веб-приложение Службы приложений Azure | См host.appservice . свойства. |
host.containerapp |
Приложение контейнера на основе Docker | См host.containerapp . свойства. |
ai.openai.model |
Развернутая модель ИИ, готовая к использованию | См ai.openai.model . свойства. |
ai.project |
Проект Microsoft Foundry с моделями | См ai.project . свойства. |
ai.search |
Поиск с использованием ИИ Azure | См ai.search . свойства. |
db.postgres |
База данных Azure для PostgreSQL | Никаких дополнительных свойств. |
db.mysql |
База данных Azure для MySQL | Никаких дополнительных свойств. |
db.redis |
Кэш Azure для Redis | Никаких дополнительных свойств. |
db.mongo |
Azure Cosmos DB для MongoDB | Никаких дополнительных свойств. |
db.cosmos |
Azure Cosmos DB для NoSQL | См db.cosmos . свойства. |
messaging.eventhubs |
Пространство имен Центров событий Azure | См messaging.eventhubs . свойства. |
messaging.servicebus |
пространство имен Служебная шина Azure | См messaging.servicebus . свойства. |
storage |
Учетная запись хранения Azure | См storage . свойства. |
keyvault |
Azure Key Vault | См keyvault . свойства. |
свойства host.appservice
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
port |
N | целое число | Порт, который прослушивает веб-приложение. По умолчанию: 80. |
runtime |
Y | объект | Конфигурация среды выполнения языка. См. ниже. |
env |
N | массив | переменные среды Каждый элемент имеет (обязательно), nameа также valuesecret свойства. Поддерживает подстановку переменных среды. |
startupCommand |
N | струна | Команда запуска, которая выполняется в процессе запуска веб-приложения. |
uses |
N | массив строк | Другие ресурсы, используемые этим ресурсом. |
runtime Объекта:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
stack |
Y | струна | Стек среды выполнения языка. Допустимые значения: node, python. |
version |
Y | струна | Версия среды выполнения языка. Формат зависит от стека (например, 22-lts для Node, 3.13 для Python). |
resources:
web:
type: host.appservice
port: 8080
runtime:
stack: node
version: 22-lts
uses:
- db
свойства host.containerapp
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
port |
N | целое число | Порт, в который приложение-контейнер прослушивает. По умолчанию: 80. |
env |
N | массив | переменные среды Каждый элемент имеет (обязательно), nameа также valuesecret свойства. Поддерживает подстановку переменных среды. |
uses |
N | массив строк | Другие ресурсы, используемые этим ресурсом. |
свойства ai.openai.model
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
model |
Conditional | объект | Базовая модель ИИ. Обязательный, если existing имеет значение false. |
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
model Объекта:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя модели ИИ. |
version |
Y | струна | Версия модели ИИ. |
resources:
chatModel:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
свойства ai.project
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
models |
N | массив | Модели ИИ, которые будут развернуты в рамках проекта ИИ. |
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
models Элементы массива:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя модели ИИ. |
version |
Y | струна | Версия модели ИИ. |
format |
Y | струна | Формат модели ИИ (например, Microsoft). OpenAI |
sku |
Y | объект | Конфигурация SKU для модели ИИ. |
sku Объекта:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя номера SKU (например, GlobalStandard). |
usageName |
Y | струна | Имя номера SKU для выставления счетов (например, OpenAI.GlobalStandard.gpt-4o-mini). |
capacity |
Y | целое число | Емкость номера SKU. |
свойства ai.search
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
свойства db.cosmos
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
containers |
N | массив | Контейнеры для хранения данных. Каждый контейнер хранит коллекцию элементов. |
containers Элементы массива:
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
Y | струна | Имя контейнера. |
partitionKeys |
Y | массив | Ключи секций, используемые для распределения данных между секциями. Максимум 3 ключа. По умолчанию: /id. |
свойства messaging.eventhubs
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
hubs |
N | массив строк | Имена концентраторов для создания в пространстве имен Центров событий. |
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
свойства messaging.servicebus
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
queues |
N | массив строк | Имена очередей для создания в пространстве имен служебной шины. |
topics |
N | массив строк | Имена разделов для создания в пространстве имен служебной шины. |
existing |
N | boolean | Если задано значение true, этот ресурс не создается и вместо этого используется для ссылок. По умолчанию: false. |
свойства storage
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
containers |
N | массив строк | Имена контейнеров учетной записи хранения Azure. |
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
(объект) Перехватчики уровня команд. Перехватчики должны соответствовать именам команд azd с префиксом pre или post в зависимости от того, когда скрипт должен выполняться. При указании путей они должны быть относительно пути проекта. Дополнительные сведения см. в статье Настройка рабочих процессов azure Developer CLI с помощью команд и событий.
Поддерживаемые перехватчики команд: preprovision, postprovisionpreinfracreatepostinfracreatepreinfradeletepostinfradeletepredownpostdownpreuppostupprepackagepostpackageprepublishpostpublishpredeploypostdeployprerestorepostrestore;
Каждый перехватчик использует формат определения перехватчика .
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 | струна | Встроенный скрипт или относительный путь к скрипту. Обязательный при указании shell, kind, dirinteractivecontinueOnError, secretsили .config При указании встроенного скрипта также необходимо указать используемый shell сценарий. Оболочка автоматически выводится при использовании путей к файлам. |
shell |
N | струна | Тип оболочки для выполнения скриптов. По умолчанию: sh. Допустимые значения: sh, pwsh. |
kind |
N | струна | Тип исполнителя для скрипта перехватчика. При опущении тип обнаруживается автоматически из расширения run файла пути (например, .py становится python, .ps1 становится pwsh). Допустимые значения: sh, pwsh, js, ts, python, dotnet. |
dir |
N | струна | Рабочий каталог для выполнения перехватчика. Используется в качестве корневого каталога проекта для установки зависимостей и в качестве рабочего каталога при запуске скрипта. Относительные пути разрешаются из корневого каталога проекта или службы. Если опущено, по умолчанию используется каталог, содержащий файл скрипта. |
continueOnError |
N | boolean | Указывает, останавливает ли ошибка скрипта azd команду. По умолчанию: false. |
interactive |
N | boolean | Выполняется ли скрипт в интерактивном режиме, привязке к stdinи stdoutstderr запущенной консоли. По умолчанию: false. |
windows |
N | объект | При указании переопределяет конфигурацию перехватчика при выполнении в средах Windows. Использует тот же формат объекта перехватчика. |
posix |
N | объект | При указании переопределяет конфигурацию перехватчика при выполнении в средах POSIX (Linux и macOS). Использует тот же формат объекта перехватчика. |
secrets |
N | объект | Карта azd переменных среды для перехвата секретов. Если переменная была задана в качестве секрета в среде, значение секрета передается в перехватчик. |
config |
N | объект | Конфигурация для конкретного исполнителя. Доступные свойства зависят от kind значения. См . конфигурацию исполнителя перехватчика. |
Note
windows Если оба значения и posix указаны, runсвойства , shellkinddirinteractivecontinueOnErrorsecretsи config свойства не могут использоваться на верхнем уровне. Вместо этого используйте объекты для конкретной платформы.
Настройка исполнителя перехватчика
Свойство config принимает различные свойства в зависимости от kind значения.
Конфигурация JavaScript и TypeScript (js, ts)
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
packageManager |
N | струна | Диспетчер пакетов, используемый для установки зависимостей. Переопределяет автоматическое обнаружение из файлов блокировки. Допустимые значения: npm, pnpm, yarn. |
Конфигурация Python
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
virtualEnvName |
N | струна | Имя каталога для виртуальной среды Python. По умолчанию используется автоматическое обнаружение (.venv, venvили {baseName}_env). |
Конфигурация .NET (dotnet)
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
configuration |
N | струна | Конфигурация MSBuild для создания скрипта перехватчика (например, Debug, Release). |
framework |
N | струна | Моникер целевой платформы для создания и запуска скрипта перехватчика (например, net8.0, net10.0). |
Конфигурация оболочки (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
(объект) Предоставляет дополнительную конфигурацию для необходимых версий и расширений azd .
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
azd |
N | струна | Диапазон поддерживаемых версий azd для этого проекта. Если версия находится за пределами azd этого диапазона, проект не загружается. Поддерживает синтаксис диапазона semver. |
extensions |
N | объект | Карта обязательных расширений и ограничений версий для этого проекта. Поддерживает ограничения semver. Если версия опущена, установлена последняя версия. |
requiredVersions:
azd: ">= 0.6.0-beta.3"
extensions:
azure.ai.agents: ">=1.0.0"
my-extension: latest
state
(объект) Предоставляет дополнительную конфигурацию для управления состоянием.
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
remote |
N | объект | Предоставляет дополнительную конфигурацию для удаленного управления состояниями. См. state.remote. |
state.remote
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
backend |
Y | струна | Тип серверной части удаленного состояния. По умолчанию: AzureBlobStorage. Допустимые значения: AzureBlobStorage. |
config |
Conditional | объект | Конфигурация для конкретной серверной части. Обязательный, если backend имеет значение AzureBlobStorage. См. конфигурацию хранилища BLOB-объектов Azure. |
Конфигурация хранилища BLOB-объектов Azure
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
accountName |
Y | струна | Имя аккаунта служба хранилища Azure. |
containerName |
N | струна | Имя контейнера службы хранилища Azure. По умолчанию используется имя проекта, если оно не указано. |
endpoint |
N | струна | Конечная точка службы хранилища Azure. По умолчанию: blob.core.windows.net. |
state:
remote:
backend: AzureBlobStorage
config:
accountName: mystorageaccount
containerName: azd-state
platform
(объект) Предоставляет дополнительную конфигурацию для функций для конкретных платформ, таких как Центр разработки 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
(объект) Предоставляет дополнительную конфигурацию для рабочих процессов, таких как поведение переопределения azd up .
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
up |
N | объект или массив | При указании переопределяет поведение по умолчанию для azd up рабочего процесса. |
Шаги рабочего процесса
Рабочий upsteps процесс принимает массив (или может быть указан непосредственно как массив). Каждый шаг выполняет 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
(объект) Предоставляет дополнительную конфигурацию для развертывания в национальных облаках, таких как Azure для государственных организаций. Облако по умолчанию .AzureCloud
| Недвижимость | Обязательно | Тип | Описание |
|---|---|---|---|
name |
N | струна | Имя облачной среды. Допустимые значения: AzureCloud, AzureChinaCloud, AzureUSGovernment. |
cloud:
name: AzureUSGovernment
Запрос справки
Сведения о том, как отправить ошибку, запросить справку или предложить новую функцию для Интерфейса командной строки разработчика Azure, перейдите на страницу устранения неполадок и поддержки.