Udostępnij za pośrednictwem


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'