Поделиться через


Параметры и типы данных в 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'