Parametrar och datatyper i environment.yaml
ADE-miljödefinitioner är infrastruktur som kod (IaC), skrivna i Bicep eller Terraform, som lagras i lagringsplatser. Miljödefinitioner kan ändras och anpassas för dina specifika krav och sedan användas för att skapa en distributionsmiljö i Azure. Schemat environment.yaml definierar och beskriver de typer av Azure-resurser som ingår i miljödefinitioner.
Vad är environment.yaml?
Filen environment.yaml fungerar som ett manifest som beskriver de resurser som används och mallplatsen för miljödefinitionen.
Exempelmiljö.yaml
Följande skript är ett allmänt exempel på en environment.yaml som krävs för din miljödefinition.
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
Definitioner
I följande tabell beskrivs de egenskaper som du kan använda i environment.yaml.
Property | Typ | Beskrivning | Krävs | Exempel |
---|---|---|---|---|
name | sträng | Katalogobjektets visningsnamn. | Ja | |
version | sträng | Katalogobjektets version. | 1.0.0 | |
Sammanfattning | sträng | En kort sammanfattningssträng om katalogobjektet. | ||
description | sträng | En beskrivning av katalogobjektet. | ||
Löpare | sträng | Containeravbildningen som ska användas vid körning av åtgärder. | ARM-mall Terraform |
|
templatePath | sträng | Den relativa sökvägen till postmallfilen. | Ja | main.tf main.bicep azuredeploy.json |
parametrar | matris | Indataparametrar som ska användas när du skapar miljön och utför åtgärder. | #/definitioner/Parameter |
Parametrar i environment.yaml
Med parametrar kan du återanvända en miljödefinition i olika scenarier. Du kanske till exempel vill att utvecklare i olika regioner ska distribuera samma miljö. Du kan definiera en platsparameter för att uppmana utvecklaren att ange önskad plats när de skapar sin miljö.
Exempelmiljö.yaml med parametrar
Följande skript är ett exempel på en environment.yaml-fil som innehåller två parametrar. location
och 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
Parameterdefinitioner
I följande tabell beskrivs de datatyper som du kan använda i environment.yaml. De datatypnamn som används i manifestfilen environment.yaml skiljer sig från de som används i ARM-mallar.
Varje parameter kan använda någon av följande egenskaper:
Egenskaper | Typ | Beskrivning | Ytterligare Inställningar |
---|---|---|---|
ID | sträng | Unikt ID för parametern. | |
name | sträng | Visningsnamn för parametern. | |
description | sträng | Beskrivning av parametern. | |
standard | matris boolesk heltalsnummerobjektsträng |
Standardvärdet för parametern. | |
type | matris boolesk heltalsnummerobjektsträng |
Parameterns datatyp. Den här datatypen måste matcha parameterdatatypen i ARM-mallen, BICEP-filen eller Terraform-filen med motsvarande parameternamn. | Standardtyp: sträng |
Readonly | boolean | Om den här parametern är skrivskyddad eller inte. | |
required | boolean | Om den här parametern krävs eller inte. | |
Tillåtet | matris | En matris med tillåtna värden. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
YAML-schema
Det finns ett definierat schema för Azure Deployment Environments environment.yaml-filer, vilket kan göra det lite enklare att redigera dessa filer. Du kan lägga till schemadefinitionen i början av filen environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Här är ett exempel på en miljödefinition som använder schemat:
# 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'