Freigeben über


Parameter und Datentypen in environment.yaml

ADE-Umgebungsdefinitionen sind Infrastruktur als Code (IaC), geschrieben in Bicep oder Terraform, gespeichert in Repositorys. Umgebungsdefinitionen können für Ihre spezifischen Anforderungen geändert und angepasst und dann zum Erstellen einer Bereitstellungsumgebung in Azure verwendet werden. 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 generisches Beispiel für eine umgebung.yaml, die für ihre 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.

Eigenschaft Typ Beschreibung Erforderlich Beispiele
name Zeichenfolge Der Anzeigename des Katalogelements. Ja
version Zeichenfolge Die Version des Katalogelements. 1.0.0
Zusammenfassung Zeichenfolge Eine kurze Zusammenfassungszeichenfolge zum Katalogelement.
Beschreibung string Eine Beschreibung des Katalogelements.
Runner Zeichenfolge Das Containerimage, das beim Ausführen von Aktionen verwendet werden soll. ARM-Vorlage
Terraform
Templatepath Zeichenfolge Der relative Pfad der Eintragsvorlagendatei. Ja Standard.tf
Standard.bicep
azuredeploy.json
Parameter array Eingabeparameter, die beim Erstellen der Umgebung und Ausführen von Aktionen verwendet werden sollen. #/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 den Entwickler aufzufordern, den gewünschten Speicherort einzugeben, während er seine Umgebung erstellt.

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:

Eigenschaften Typ Beschreibung Weitere Einstellungen
ID Zeichenfolge Eindeutige ID des Parameters.
name Zeichenfolge Anzeigename des Parameters.
Beschreibung string Beschreibung des Parameters.
default array
boolean
integer
number object

string
Der Standardwert des Parameters.
Typ array
boolean
integer
number object

string
Der Datentyp des Parameters. Dieser Datentyp muss mit dem Parameterdatentyp in der ARM-Vorlage, der BICEP-Datei oder der Terraform-Datei mit dem entsprechenden Parameternamen übereinstimmen. Standardtyp: Zeichenfolge
readOnly boolean Gibt an, ob dieser Parameter schreibgeschützt ist.
Erforderlich boolean Gibt an, ob dieser Parameter erforderlich ist.
Zulässig 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, die die Bearbeitung dieser Dateien etwas vereinfachen können. 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'