environment.yaml dosyasındaki özellikler ve parametreler

Azure Dağıtım Ortamlarında (ADE) environment tanımları kod olarak altyapı (IaC) şablonlarıdır. Bu şablonlar ADE genişletilebilirlik modeliyle desteklenen Azure Resource Manager, Bicep, Terraform veya diğer çerçevelerde yazılır ve depolarda depolanır. Gereksinimleriniz için ortam tanımlarını değiştirebilir ve uyarlayabilir ve sonra bunları kullanarak Azure'da bir dağıtım ortamı oluşturabilirsiniz. environment.yaml şeması, ortam tanımlarına dahil edilen Azure kaynaklarının türlerini tanımlar ve açıklar.

environment.yaml nedir?

environment.yaml dosyası, kullanılan kaynakları ve ortam tanımı için şablon konumunu açıklayan bir bildirim görevi görür.

Örnek environment.yaml

Aşağıdaki betik, ortam tanımınız için gereken bir environment.yaml dosyası örneğidir.

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

Tanımlar

Aşağıdaki tabloda environment.yaml dosyasında kullanabileceğiniz özellikler açıklanmaktadır.

Mülkiyet Türü Açıklama Gerekli mi? Örnek
name string Katalog öğesinin görünen adı. Evet Web Uygulaması
version string Katalog öğesinin versiyonu. Hayı 1.0.0
summary string Katalog öğesini özetleyen kısa dize. Hayı Azure Web App Ortamı
description string Katalog öğesinin açıklaması. Hayı Azure'da veri deposu olmadan bir web uygulaması dağıtır
runner string Eylemleri çalıştırırken kullanılacak kapsayıcı görüntüsü. Hayı ARM şablonu
Terraform
templatePath string Giriş şablonu dosyasının göreli yolu. Evet main.tf
main.bicep
azuredeploy.json
parameters dizi Ortam oluştururken ve eylemleri çalıştırırken kullanılacak giriş parametreleri. Hayı #/tanımlar/Parametre

environment.yaml dosyasındaki parametreler

Parametreler, ortam tanımını farklı senaryolarda yeniden kullanmanıza olanak tanır. Örneğin, farklı bölgelerdeki geliştiricilerin aynı ortamı dağıtmasını isteyebilirsiniz. Geliştiricilerin ortamlarını oluştururken istenen konumu girmelerini isteyen bir konum parametresi tanımlayabilirsiniz.

Parametrelerle ilgili örnek environment.yaml

Aşağıdaki betik, iki parametre içeren bir environment.yaml dosyası örneğidir: location ve 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

Parametre tanımları

Aşağıdaki tabloda environment.yaml dosyasında kullanabileceğiniz veri türleri açıklanmaktadır. environment.yaml bildirim dosyasında kullanılan veri türü adları ARM şablonlarında kullanılan adlardan farklıdır.

Her parametre aşağıdaki özelliklerden herhangi birini kullanabilir:

Parametre Türü Açıklama Ek ayarlar
id string Parametrenin benzersiz kimliği.
name string Parametre için bir görünen ad.
description string Parametresinin açıklaması.
default dizi
boolean
tamsayı
sayı
nesne
dizesi
parametresinin varsayılan değeri.
type dizi
boolean
tamsayı
sayı
nesne
dizesi
Parametresinin veri türü. Bu veri türü ARM şablonunda, Bicep dosyasında veya Terraform dosyasında karşılık gelen parametre adına sahip parametre veri türüyle eşleşmelidir. Varsayılan tür: dize
readOnly Boolean Parametrenin salt okunur olup olmadığını gösterir.
required Boolean Parametresinin gerekli olup olmadığını gösterir.
allowed dizi İzin verilen değerler dizisi. "öğeler": {
"tip": "dize"
},
"enAzÖğe": 1,
"eşsizÖğeler": doğru,

YAML şeması

Azure Dağıtım Ortamları environment.yaml dosyaları için tanımlanmış bir şema vardır. Bu dosyaları düzenlemeyi biraz daha kolaylaştırabilir. Şema tanımını environment.yaml dosyanızın başına ekleyebilirsiniz:

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

Şemayı kullanan örnek bir ortam tanımı aşağıda verilmiştir:

# 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'