Parameters en gegevenstypen in environment.yaml
ADE-omgevingsdefinities zijn infrastructuur als code (IaC), geschreven in Bicep of Terraform, opgeslagen in opslagplaatsen. Omgevingsdefinities kunnen worden gewijzigd en aangepast voor uw specifieke vereisten en vervolgens worden gebruikt om een implementatieomgeving in Azure te maken. Het schema environment.yaml definieert en beschrijft de typen Azure-resources die zijn opgenomen in omgevingsdefinities.
Wat is environment.yaml?
Het bestand environment.yaml fungeert als een manifest, waarin de resources worden beschreven die worden gebruikt en de locatie van de sjabloon voor de omgevingsdefinitie.
Voorbeeldomgeving.yaml
Het volgende script is een algemeen voorbeeld van een environment.yaml die is vereist voor uw omgevingsdefinitie.
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
Definities
In de volgende tabel worden de eigenschappen beschreven die u in environment.yaml kunt gebruiken.
Eigenschappen | Type | Beschrijving | Vereist | Voorbeelden |
---|---|---|---|---|
name | tekenreeks | De weergavenaam van het catalogusitem. | Ja | |
versie | tekenreeks | De versie van het catalogusitem. | 1.0.0 | |
samenvatting | tekenreeks | Een korte samenvattingstekenreeks over het catalogusitem. | ||
beschrijving | tekenreeks | Een beschrijving van het catalogusitem. | ||
Runner | tekenreeks | De containerinstallatiekopieën die moeten worden gebruikt bij het uitvoeren van acties. | ARM-sjabloon Terraform |
|
templatePath | tekenreeks | Het relatieve pad van het invoersjabloonbestand. | Ja | main.tf main.bicep azuredeploy.json |
parameters | matrix | Invoerparameters die moeten worden gebruikt bij het maken van de omgeving en het uitvoeren van acties. | #/definities/parameter |
Parameters in environment.yaml
Met parameters kunt u een omgevingsdefinitie opnieuw gebruiken in verschillende scenario's. U wilt bijvoorbeeld dat ontwikkelaars in verschillende regio's dezelfde omgeving implementeren. U kunt een locatieparameter definiëren om de ontwikkelaar te vragen de gewenste locatie in te voeren tijdens het maken van hun omgeving.
Voorbeeldomgeving.yaml met parameters
Het volgende script is een voorbeeld van een environment.yaml-bestand dat twee parameters bevat; location
en 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
Parameterdefinities
In de volgende tabel worden de gegevenstypen beschreven die u in environment.yaml kunt gebruiken. De namen van het gegevenstype die worden gebruikt in het manifestbestand environment.yaml verschillen van de namen die worden gebruikt in ARM-sjablonen.
Elke parameter kan een van de volgende eigenschappen gebruiken:
Eigenschappen | Type | Beschrijving | Verdere Instellingen |
---|---|---|---|
Id | tekenreeks | Unieke id van de parameter. | |
name | tekenreeks | Weergavenaam van de parameter. | |
beschrijving | tekenreeks | Beschrijving van de parameter. | |
default | matrix booleaanse getalobjecttekenreeks voor gehele getallen |
De standaardwaarde van de parameter. | |
type | matrix booleaanse getalobjecttekenreeks voor gehele getallen |
Het gegevenstype van de parameter. Dit gegevenstype moet overeenkomen met het parametergegevenstype in de ARM-sjabloon, BICEP-bestand of Terraform-bestand met de bijbehorende parameternaam. | Standaardtype: tekenreeks |
Readonly | boolean | Of deze parameter al dan niet alleen-lezen is. | |
vereist | boolean | Of deze parameter al dan niet vereist is. | |
toegestaan | matrix | Een matrix met toegestane waarden. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
YAML-schema
Er is een gedefinieerd schema voor Azure Deployment Environments environment.yaml-bestanden, waardoor het bewerken van deze bestanden iets eenvoudiger kan worden. U kunt de schemadefinitie toevoegen aan het begin van het bestand environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Hier volgt een voorbeeld van een omgevingsdefinitie die gebruikmaakt van het schema:
# 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'