你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

environment.yaml 中的参数和数据类型

ADE 环境定义是基础结构即代码(IaC),以 Bicep 或 Terraform 编写,存储在存储库中。 可以根据特定要求修改和调整环境定义,然后用于在 Azure 上创建部署环境。 environment.yaml 架构定义并描述环境定义中包含的 Azure 资源类型。

什么是 environment.yaml?

environment.yaml 文件充当清单,描述所使用的资源和环境定义的模板位置。

示例 environment.yaml

以下脚本是环境定义所需的 environment.yaml 的一般示例。

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

定义

下表介绍了可以在 environment.yaml 中使用的属性。

属性 类型 描述 必需 示例
name string 目录项的显示名称。
版本 string 目录项的版本。 1.0.0
summary string 有关目录项的简短摘要字符串。
description string 目录项的说明。
转轮 string 执行操作时要使用的容器映像。 ARM 模板
Terraform
templatePath string 条目模板文件的相对路径。
main.tf main.bicep
azuredeploy.json
parameters 数组 创建环境和执行操作时要使用的输入参数。 #/definitions/Parameter

environment.yaml 中的参数

通过参数,可以在不同的方案中重复使用环境定义。 例如,你可能希望不同区域中的开发人员部署相同的环境。 可以定义位置参数,提示开发人员在创建其环境时输入所需的位置。

包含参数的示例 environment.yaml

以下脚本是包含两个参数的 environment.yaml 文件的示例; locationname

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

参数定义

下表介绍了可以在 environment.yaml 中使用的数据类型。 environment.yaml 清单文件中使用的数据类型名称不同于 ARM 模板中使用的数据类型名称。

每个参数都可以使用以下任何属性:

属性 类型 描述 进一步设置
ID string 参数的唯一 ID。
name string 参数的显示名称。
description string 参数的说明。
默认值 数组
布尔
整数
对象

字符串
参数的默认值。
type 数组
布尔
整数
对象

字符串
参数的数据类型。 此数据类型必须与 ARM 模板、BICEP 文件或 Terraform 文件中的参数数据类型与相应的参数名称匹配。 默认类型: 字符串
readOnly boolean 此参数是否为只读。
必答 boolean 是否需要此参数。
array 允许值的数组。 “items”: {
“type”: “string”
},
“minItems”: 1,
“uniqueItems”: true,

YAML 架构

Azure 部署环境 environment.yaml 文件有一个定义的架构,可以使编辑这些文件变得更轻松。 可以将架构定义添加到 environment.yaml 文件的开头:

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

下面是使用架构的示例环境定义:

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