Dela via


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'