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


Свойства и параметры в environment.yaml

Определения среды развертывания Azure — это инфраструктура как код (IaC), написанная в Bicep или Terraform и хранящаяся в репозиториях. Вы можете изменить и адаптировать определения среды для ваших требований, а затем использовать их для создания среды развертывания в Azure. Схема environment.yaml определяет и описывает типы ресурсов Azure, включенных в определения среды.

Что такое environment.yaml?

Файл environment.yaml выступает в качестве манифеста, описывая используемые ресурсы и расположение шаблона для определения среды.

Пример окружения.yaml

Следующий пример файла environment.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.

Недвижимость Тип Описание Обязательно? Пример
name струна Отображаемое имя элемента каталога. Да Веб-приложение
version струна Версия элемента каталога. нет 1.0.0
summary струна Короткая строка, которая суммирует элемент каталога. нет Среда веб-приложения Azure
description струна Описание элемента каталога. нет Развертывание веб-приложения в Azure без хранилища данных
runner струна Образ контейнера, используемый при выполнении действий. нет Шаблон ARM
Terraform
templatePath струна Относительный путь к файлу шаблона записи. Да
main.tf main.bicep
azuredeploy.json
parameters массив Входные параметры, используемые при создании среды и выполнении действий. нет #/definitions/Parameter (Параметр)

Параметры в environment.yaml

Параметры позволяют повторно использовать определение среды в разных сценариях. Например, разработчикам в разных регионах может потребоваться развернуть одну и ту же среду. Вы можете определить параметр расположения, чтобы предложить разработчикам ввести нужное расположение при создании сред.

Пример файла environment.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.

Каждый параметр может использовать любое из следующих свойств:

Параметр Тип Описание Дополнительные параметры
id струна Уникальный идентификатор параметра.
name струна Отображаемое имя параметра.
description струна Описание параметра.
default массив
логическое
целое число
число
объект
строка
Значение по умолчанию параметра.
type массив
логическое
целое число
число
объект
строка
Тип данных параметра. Этот тип данных должен соответствовать типу данных параметра, который имеет соответствующее имя параметра в шаблоне ARM, Bicep-файле или terraform-файле. Тип по умолчанию: строка
readOnly булевый Указывает, доступен ли параметр только для чтения.
required булевый Является ли параметр обязательным.
allowed массив Массив допустимых значений. "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'