Parametry i typy danych w pliku environment.yaml
Definicje środowiska ADE to infrastruktura jako kod (IaC), napisana w Bicep lub Terraform, przechowywana w repozytoriach. Definicje środowiska można modyfikować i dostosowywać do określonych wymagań, a następnie używać ich do tworzenia środowiska wdrażania na platformie Azure. Schemat environment.yaml definiuje i opisuje typy zasobów platformy Azure zawartych w definicjach środowiska.
Co to jest environment.yaml?
Plik environment.yaml działa jako manifest, opisując używane zasoby i lokalizację szablonu dla definicji środowiska.
Przykładowe środowisko.yaml
Poniższy skrypt jest ogólnym przykładem pliku environment.yaml wymaganego dla definicji środowiska.
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
Definicje
W poniższej tabeli opisano właściwości, których można użyć w pliku environment.yaml.
Właściwości | Type | Opis | Wymagane | Przykłady |
---|---|---|---|---|
nazwa | string | Nazwa wyświetlana elementu wykazu. | Tak | |
version | string | Wersja elementu wykazu. | 1.0.0 | |
Podsumowanie | string | Krótki ciąg podsumowania dotyczący elementu wykazu. | ||
opis | string | Opis elementu wykazu. | ||
Runner | string | Obraz kontenera do użycia podczas wykonywania akcji. | Szablon usługi ARM — Terraform |
|
templatePath | string | Ścieżka względna pliku szablonu wpisu. | Tak | main.tf main.bicep azuredeploy.json |
parameters | tablica | Parametry wejściowe do użycia podczas tworzenia środowiska i wykonywania akcji. | #/definitions/Parameter |
Parametry w pliku environment.yaml
Parametry umożliwiają ponowne użycie definicji środowiska w różnych scenariuszach. Na przykład deweloperzy w różnych regionach mogą chcieć wdrożyć to samo środowisko. Możesz zdefiniować parametr lokalizacji, aby monitować dewelopera o wprowadzenie żądanej lokalizacji podczas tworzenia środowiska.
Przykładowe środowisko.yaml z parametrami
Poniższy skrypt jest przykładem pliku environment.yaml, który zawiera dwa parametry; location
i 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
Definicje parametrów
W poniższej tabeli opisano typy danych, których można użyć w pliku environment.yaml. Nazwy typów danych używane w pliku manifestu environment.yaml różnią się od nazw używanych w szablonach usługi ARM.
Każdy parametr może używać dowolnej z następujących właściwości:
Właściwości | Type | Opis | Dalsze Ustawienia |
---|---|---|---|
IDENTYFIKATOR | string | Unikatowy identyfikator parametru. | |
nazwa | string | Nazwa wyświetlana parametru. | |
opis | string | Opis parametru. | |
default | ciąg obiektu liczb logicznych tablicy liczb całkowitych |
Wartość domyślna parametru. | |
type | ciąg obiektu liczb logicznych tablicy liczb całkowitych |
Typ danych parametru. Ten typ danych musi być zgodny z typem danych parametru w szablonie usługi ARM, pliku BICEP lub pliku Terraform z odpowiednią nazwą parametru. | Typ domyślny: ciąg |
Readonly | boolean | Bez względu na to, czy ten parametr jest tylko do odczytu. | |
wymagane | boolean | Niezależnie od tego, czy ten parametr jest wymagany. | |
Dozwolone | tablica | Tablica dozwolonych wartości. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
Schemat YAML
Istnieje zdefiniowany schemat dla plików Środowiska wdrażania platformy Azure.yaml, co może ułatwić edytowanie tych plików. Definicję schematu można dodać na początku pliku environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Oto przykładowa definicja środowiska korzystająca ze schematu:
# 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'