Proprietà e parametri in environment.yaml

Le definizioni di ambiente degli ambienti di distribuzione di Azure sono modelli di infrastruttura come codice (IaC) scritti in ARM, Bicep, Terraform o altri framework supportati tramite il modello di estendibilità DIE e archiviati nei repository. È possibile modificare e adattare le definizioni di ambiente per i requisiti e usarle per creare un ambiente di distribuzione in Azure. Lo schema environment.yaml definisce e descrive i tipi di risorse di Azure incluse nelle definizioni di ambiente.

Che cos'è environment.yaml?

Il file environment.yaml funge da manifesto, descrivendo le risorse usate e il percorso del modello per la definizione dell'ambiente.

Environment.yaml di esempio

Lo script seguente è un esempio di environment.yaml necessario per la definizione dell'ambiente.

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

Definizioni

Nella tabella seguente vengono descritte le proprietà che è possibile usare in environment.yaml.

Proprietà Tipo Descrizione Obbligatorio? Esempio
name stringa Nome visualizzato dell'elemento del catalogo. Webapp
version stringa Versione dell'elemento del catalogo. No 1.0.0
summary stringa Stringa breve che riepiloga l'elemento del catalogo. No Ambiente app Web di Azure
description stringa Descrizione dell'elemento del catalogo. No Distribuisce un'app Web in Azure senza un archivio dati
runner stringa Immagine del contenitore da usare durante l'esecuzione di azioni. No Modello ARM
Terraform
templatePath stringa Percorso relativo del file modello di voce di inserimento. main.tf
main.bicep
azuredeploy.json
parameters array Parametri di input da usare durante la creazione dell'ambiente e l'esecuzione di azioni. No #/definitions/Parameter

Parametri in environment.yaml

I parametri consentono di riutilizzare una definizione di ambiente in scenari diversi. Ad esempio, è possibile che gli sviluppatori in aree diverse distribuiscano lo stesso ambiente. È possibile definire un parametro location per richiedere agli sviluppatori di immettere la posizione desiderata durante la creazione degli ambienti.

File di esempio environment.yaml con parametri

Lo script seguente è un esempio di file environment.yaml che include due parametri: location e 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

Definizioni dei parametri

Nella tabella seguente vengono descritti i tipi di dati che è possibile usare in environment.yaml. I nomi dei tipi di dati usati nel file manifesto "environment.yaml" differiscono da quelli usati nei modelli ARM.

Ogni parametro può usare una delle proprietà seguenti:

Parametro Tipo Descrizione Impostazioni aggiuntive
id stringa ID univoco del parametro.
name stringa Nome visualizzato per il parametro.
description stringa Descrizione del parametro.
default matrice
booleana
numero
intero
stringa oggetto
Valore predefinito del parametro .
type matrice
booleana
numero
intero
stringa oggetto
Tipo di dati del parametro. Questo tipo di dati deve corrispondere al tipo di dati del parametro che ha il nome corrispondente nel modello di Resource Manager, nel file Bicep o nel file Terraform. Tipo predefinito: string
readOnly booleano Indica se il parametro è di sola lettura.
required booleano Indica se il parametro è obbligatorio.
allowed array Matrice di valori consentiti. "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

Schema YAML

È disponibile uno schema definito per i file environment.yaml degli ambienti di distribuzione di Azure. Può semplificare la modifica di questi file. È possibile aggiungere la definizione dello schema all'inizio del file environment.yaml:

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json

Ecco una definizione di ambiente di esempio che usa lo 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'