Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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. | Sì | 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. | Sì | 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'