Condividi tramite


Parametri e tipi di dati in environment.yaml

Le definizioni di ambiente ADE sono infrastruttura come codice (IaC), scritte in Bicep o Terraform, archiviate nei repository. Le definizioni di ambiente possono essere modificate e adattate per i requisiti specifici e quindi usate 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 generico 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à Type Descrizione Obbligatorio Esempi
name stringa Nome visualizzato dell'elemento del catalogo.
version stringa Versione dell'elemento del catalogo. 1.0.0
riepilogo stringa Stringa di riepilogo breve relativa all'elemento del catalogo.
description stringa Descrizione dell'elemento del catalogo.
Corridore stringa Immagine del contenitore da usare durante l'esecuzione di azioni.
Modello arm Terraform
templatePath stringa Percorso relativo del file modello di voce.
main.tf main.bicep
azuredeploy.json
parameters array Parametri di input da usare durante la creazione dell'ambiente e l'esecuzione di azioni. #/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 allo sviluppatore di immettere la posizione desiderata durante la creazione dell'ambiente.

Environment.yaml di esempio 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 di Resource Manager.

Ogni parametro può usare una delle proprietà seguenti:

Proprietà Type Descrizione Ulteriori Impostazioni
ID stringa ID univoco del parametro.
name stringa Nome visualizzato del parametro.
description stringa Descrizione del parametro.
impostazione predefinita matrice
booleana
numero
intero
stringa oggetto
Il valore predefinito del parametro.
Tipo matrice
booleana
numero
intero
stringa oggetto
Tipo di dati del parametro. Questo tipo di dati deve corrispondere al tipo di dati del parametro nel modello arm, nel file BICEP o in Terraform con il nome del parametro corrispondente. Tipo predefinito: string
readOnly boolean Indica se questo parametro è di sola lettura.
necessario boolean Indica se questo parametro è obbligatorio o meno.
consentita 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, che 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'