Compartir a través de


Parámetros y tipos de datos en environment.yaml

Las definiciones de entorno de ADE son infraestructura como código (IaC), escritas en Bicep o Terraform, almacenadas en repositorios. Las definiciones de entorno se pueden modificar y adaptar para sus requisitos específicos y, a continuación, se usan para crear un entorno de implementación en Azure. El esquema environment.yaml define y describe los tipos de recursos de Azure incluidos en las definiciones de entorno.

¿Qué es environment.yaml?

El archivo environment.yaml actúa como manifiesto, que describe los recursos usados y la ubicación de la plantilla para la definición del entorno.

Sample environment.yaml

El siguiente script es un ejemplo genérico de un environment.yaml necesario para la definición del entorno.

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

Definiciones

En la tabla siguiente se describen las propiedades que puede usar en environment.yaml.

Propiedad Tipo Descripción Obligatorio Ejemplos
name string Nombre para mostrar del elemento de catálogo.
version string Versión del elemento de catálogo. 1.0.0
summary string Una cadena de resumen breve sobre el elemento de catálogo.
descripción string Descripción del elemento de catálogo.
Corredor string Imagen de contenedor que se va a usar al ejecutar acciones. Terraform de plantilla
de ARM
templatePath string Ruta de acceso relativa del archivo de plantilla de entrada.
main.tf main.bicep
azuredeploy.json
parámetros array Parámetros de entrada que se usarán al crear el entorno y ejecutar acciones. #/definitions/Parameter

Parámetros en environment.yaml

Los parámetros permiten reutilizar una definición de entorno en distintos escenarios. Por ejemplo, es posible que quiera que los desarrolladores de diferentes regiones implementen el mismo entorno. Puede definir un parámetro de ubicación para solicitar al desarrollador que escriba la ubicación deseada a medida que cree su entorno.

Ejemplo environment.yaml con parámetros

El siguiente script es un ejemplo de un archivo environment.yaml que incluye dos parámetros; location y 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

Definiciones de parámetros

En la tabla siguiente se describen los tipos de datos que puede usar en environment.yaml. Los nombres de tipo de datos usados en el archivo de manifiesto environment.yaml difieren de los usados en las plantillas de ARM.

Cada parámetro puede usar cualquiera de las siguientes propiedades:

Propiedades Tipo Descripción Más Configuración
Identificador string Identificador único del parámetro.
name string Nombre para mostrar del parámetro.
descripción string Descripción del parámetro.
default matriz
booleana
número
entero cadena
de objeto
El valor predeterminado del parámetro.
type matriz
booleana
número
entero cadena
de objeto
El tipo de datos del parámetro. Este tipo de datos debe coincidir con el tipo de datos de parámetro en la plantilla de ARM, el archivo BICEP o el archivo de Terraform con el nombre de parámetro correspondiente. Tipo predeterminado: cadena
readOnly boolean Indica si este parámetro es de solo lectura.
requerido boolean Indica si se requiere o no este parámetro.
permitidas array Matriz de valores permitidos. "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

Esquema YAML

Hay un esquema definido para los archivos environment.yaml de Entornos de implementación de Azure, que pueden facilitar la edición de estos archivos. Puede agregar la definición de esquema al principio del archivo environment.yaml:

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json

Esta es una definición de entorno de ejemplo que usa el esquema:

# 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'