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'