Eigenschaften und Parameter in environment.yaml

Azure Deployment Environments-Umgebungsdefinitionen sind Infrastruktur als Codevorlagen (IaC), die in ARM, Bicep, Terraform oder anderen Frameworks geschrieben wurden, die über das ADE-Erweiterbarkeitsmodell unterstützt und in Repositorys gespeichert sind. Sie können Umgebungsdefinitionen für Ihre Anforderungen ändern und anpassen und diese dann verwenden, um eine Bereitstellungsumgebung in Azure zu erstellen. Das schema environment.yaml definiert und beschreibt die Typen von Azure-Ressourcen, die in Umgebungsdefinitionen enthalten sind.

Was ist environment.yaml?

Die Datei environment.yaml fungiert als Manifest, das die verwendeten Ressourcen und den Vorlagenspeicherort für die Umgebungsdefinition beschreibt.

Beispielumgebung.yaml

Das folgende Skript ist ein Beispiel für "environment.yaml", das für die Umgebungsdefinition erforderlich ist.

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

Definitionen

In der folgenden Tabelle werden die Eigenschaften beschrieben, die Sie in environment.yaml verwenden können.

Eigentum Typ Description Erforderlich? Example
name Schnur Der Anzeigename des Katalogelements. Ja Webapp
version Schnur Die Version des Katalogelements. No 1.0.0
summary Schnur Eine kurze Zeichenfolge, die das Katalogelement zusammenfasst. No Azure Web App-Umgebung
description Schnur Eine Beschreibung des Katalogelements. No Stellt eine Web-App in Azure ohne Datenspeicher bereit
runner Schnur Das Containerimage, das beim Ausführen von Aktionen verwendet werden soll. No ARM-Vorlage
Terraform
templatePath Schnur Der relative Pfad der Eintragsvorlagendatei. Ja
main.tf main.bicep
azuredeploy.json
parameters Array Eingabeparameter, die beim Erstellen der Umgebung und beim Ausführen von Aktionen verwendet werden sollen. No #/definitions/Parameter

Parameter in environment.yaml

Mithilfe von Parametern können Sie eine Umgebungsdefinition in verschiedenen Szenarien wiederverwenden. Sie können beispielsweise möchten, dass Entwickler in verschiedenen Regionen dieselbe Umgebung bereitstellen. Sie können einen Standortparameter definieren, um Entwickler aufzufordern, den gewünschten Speicherort einzugeben, während sie ihre Umgebungen erstellen.

Beispielumgebung.yaml mit Parametern

Das folgende Skript ist ein Beispiel für eine Datei "environment.yaml", die zwei Parameter enthält: location und 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

Parameterdefinitionen

In der folgenden Tabelle werden die Datentypen beschrieben, die Sie in "environment.yaml" verwenden können. Die in der Manifestdatei "environment.yaml" verwendeten Datentypnamen unterscheiden sich von den Datentypen, die in ARM-Vorlagen verwendet werden.

Jeder Parameter kann eine der folgenden Eigenschaften verwenden:

Parameter Typ Description Zusätzliche Einstellungen
id Schnur Eine eindeutige ID des Parameters.
name Schnur Ein Anzeigename für den Parameter.
description Schnur Eine Beschreibung des Parameters.
default array
boolean
integer
number
object
string
Der Standardwert des Parameters.
type Array
boolean
integer
number
object
string
Der Datentyp des Parameters. Dieser Datentyp muss mit dem Parameterdatentyp übereinstimmen, der den entsprechenden Parameternamen in der ARM-Vorlage, der Bicep-Datei oder der Terraform-Datei aufweist. Standardtyp: Zeichenfolge
readOnly boolean Gibt an, ob der Parameter schreibgeschützt ist.
required boolean Gibt an, ob der Parameter erforderlich ist.
allowed Array Ein Array zulässiger Werte. "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

YAML-Schema

Es gibt ein definiertes Schema für Azure Deployment Environments environment.yaml-Dateien. Es kann die Bearbeitung dieser Dateien etwas einfacher machen. Sie können die Schemadefinition am Anfang der Datei "environment.yaml" hinzufügen:

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

Hier ist eine Beispielumgebungsdefinition, die das Schema verwendet:

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