Bagikan melalui


Properti dan parameter di environment.yaml

Definisi Lingkungan Penyebaran Azure adalah infrastruktur sebagai kode (IaC) yang ditulis dalam Bicep atau Terraform dan disimpan dalam repositori. Anda dapat memodifikasi dan menyesuaikan definisi lingkungan untuk kebutuhan Anda lalu menggunakannya untuk membuat lingkungan penyebaran di Azure. Skema environment.yaml menentukan dan menjelaskan jenis sumber daya Azure yang disertakan dalam definisi lingkungan.

Apa itu environment.yaml?

File environment.yaml bertindak sebagai manifes, yang menjelaskan sumber daya yang digunakan dan lokasi templat untuk definisi lingkungan.

Contoh environment.yaml

Skrip berikut adalah contoh environment.yaml yang diperlukan untuk definisi lingkungan Anda.

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

Definisi

Tabel berikut ini menjelaskan properti yang bisa Anda gunakan di environment.yaml.

Harta benda Tipe Deskripsi Diperlukan? Contoh
name benang Nama tampilan item katalog. Ya WebApp
version benang Versi dari item katalog. Tidak 1.0.0
summary benang String pendek yang meringkas item katalog. Tidak Lingkungan Aplikasi Web Azure
description benang Deskripsi item katalog. Tidak Menyebarkan aplikasi web di Azure tanpa datastore
runner benang Gambar kontainer yang akan digunakan saat menjalankan tindakan. Tidak ARM template
Terraform
templatePath benang Jalur relatif file templat entri. Ya
main.tf azuredeploy.json main.bicep
parameters rangkaian Parameter input untuk digunakan saat membuat lingkungan dan menjalankan tindakan. Tidak #/definitions/Parameter

Parameter di environment.yaml

Parameter memungkinkan Anda menggunakan kembali definisi lingkungan dalam skenario yang berbeda. Misalnya, Anda mungkin ingin pengembang di berbagai wilayah menyebarkan lingkungan yang sama. Anda dapat menentukan parameter lokasi untuk meminta pengembang memasukkan lokasi yang diinginkan saat mereka membuat lingkungan mereka.

Contoh environment.yaml dengan parameter

Skrip berikut adalah contoh file environment.yaml yang mencakup dua parameter: location dan 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

Definisi parameter

Tabel berikut ini menjelaskan jenis data yang bisa Anda gunakan di environment.yaml. Nama jenis data yang digunakan dalam file manifes environment.yaml berbeda dari yang digunakan dalam templat ARM.

Setiap parameter dapat menggunakan salah satu properti berikut:

Pengaturan Tipe Deskripsi Pengaturan tambahan
id benang ID parameter yang unik
name benang Nama tampilan untuk parameter .
description benang Deskripsi parameter.
default array
boolean
bilangan bulat
bilangan
objek
string
Nilai bawaan parameter.
type array
boolean
bilangan bulat
bilangan
objek
string
Tipe data dari parameter. Jenis data ini harus cocok dengan jenis data parameter yang memiliki nama parameter yang sesuai dalam templat ARM, file Bicep, atau file Terraform. Jenis default: string
readOnly Boolean Apakah parameter bersifat baca saja.
required Boolean Apakah parameter tersebut diperlukan.
allowed rangkaian Deretan nilai-nilai yang diperbolehkan. "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

YAML schema

Ada skema yang telah ditetapkan untuk Lingkungan Penyebaran Azure file environment.yaml. Ini dapat membuat pengeditan file-file ini sedikit lebih mudah. Anda dapat menambahkan definisi skema ke awal file environment.yaml Anda:

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

Berikut adalah contoh definisi lingkungan yang menggunakan skema:

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