Параметры и типы данных в environment.yaml
Определения среды ADE — это инфраструктура как код (IaC), написанная в Bicep или Terraform, хранящейся в репозиториях. Определения среды можно изменять и адаптировать для конкретных требований, а затем использовать для создания среды развертывания в Azure. Схема environment.yaml определяет и описывает типы ресурсов Azure, включенных в определения среды.
Что такое environment.yaml?
Файл environment.yaml выступает в качестве манифеста, описывая используемые ресурсы и расположение шаблона для определения среды.
Пример среды.yaml
Следующий сценарий является универсальным примером среды.yaml, необходимого для определения среды.
name: WebApp
version: 1.0.0
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
Определения
В следующей таблице описаны свойства, которые можно использовать в environment.yaml.
Свойство | Тип | Description | Обязательный | Примеры |
---|---|---|---|---|
name | строка | Отображаемое имя элемента каталога. | Да | |
версия | строка | Версия элемента каталога. | 1.0.0 | |
Итоги | строка | Краткая строка сводки о элементе каталога. | ||
description | строка | Описание элемента каталога. | ||
Бегун | строка | Образ контейнера, используемый при выполнении действий. | Шаблон ARM Terraform |
|
templatePath | строка | Относительный путь к файлу шаблона записи. | Да | main.tf main.bicep azuredeploy.json |
parameters | array | Входные параметры, используемые при создании среды и выполнении действий. | #/definitions/Parameter |
Параметры в environment.yaml
Параметры позволяют повторно использовать определение среды в разных сценариях. Например, разработчикам в разных регионах может потребоваться развернуть одну и ту же среду. Вы можете определить параметр расположения, чтобы предложить разработчику ввести нужное расположение при создании среды.
Пример среды.yaml с параметрами
Следующий скрипт является примером файла environment.yaml, который включает два параметра; location
и name
:
name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
name: "location"
description: "Location to deploy the environment resources"
default: "[resourceGroup().location]"
type: "string"
required: false
- id: "name"
name: "name"
description: "Name of the Web App "
default: ""
type: "string"
required: false
Определения параметров
В следующей таблице описаны типы данных, которые можно использовать в environment.yaml. Имена типов данных, используемые в файле манифеста environment.yaml, отличаются от тех, которые используются в шаблонах ARM.
Каждый параметр может использовать любое из следующих свойств:
Свойства | Тип | Description | Дальнейшие Параметры |
---|---|---|---|
Идентификатор | строка | Уникальный идентификатор параметра. | |
name | строка | Отображаемое имя параметра. | |
description | строка | Описание параметра. | |
default | Строка объекта массива логического целочисленного числа |
default — значение параметра по умолчанию. | |
type | Строка объекта массива логического целочисленного числа |
Тип данных параметра. Этот тип данных должен соответствовать типу данных параметра в шаблоне ARM, файле BICEP или Terraform с соответствующим именем параметра. | Тип по умолчанию: строка |
readOnly | boolean | Указывает, доступен ли этот параметр только для чтения. | |
обязательно | boolean | Требуется ли этот параметр. | |
allowed | array | Массив допустимых значений. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
Схема YAML
Существует определенная схема для файлов среды развертывания Azure.yaml, что упрощает редактирование этих файлов. Вы можете добавить определение схемы в начало файла environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Ниже приведен пример определения среды, использующего схему:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
name: FunctionApp
version: 1.0.0
summary: Azure Function App Environment
description: Deploys an Azure Function App, Storage Account, and Application Insights
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: name
name: Name
description: 'Name of the Function App.'
type: string
required: true
- id: supportsHttpsTrafficOnly
name: 'Supports Https Traffic Only'
description: 'Allows https traffic only to Storage Account and Functions App if set to true.'
type: boolean
- id: runtime
name: Runtime
description: 'The language worker runtime to load in the function app.'
type: string
allowed:
- 'dotnet'
- 'dotnet-isolated'
- 'java'
- 'node'
- 'powershell'
- 'python'
default: 'dotnet-isolated'