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

Microsoft.Resources deploymentScripts

Bicep 资源定义

deploymentScripts 资源类型可以使用目标操作进行部署:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

注解

若要了解如何在部署期间执行脚本,请参阅 在 Bicep 中使用部署脚本 或在 ARM 模板中使用部署脚本

资源格式

若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  kind: 'string'
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  // For remaining properties, see deploymentScripts objects
}

deploymentScripts 对象

设置 kind 属性以指定对象的类型。

对于 AzureCLI,请使用:

  kind: 'AzureCLI'
  properties: {
    arguments: 'string'
    azCliVersion: 'string'
    cleanupPreference: 'string'
    containerSettings: {
      containerGroupName: 'string'
      subnetIds: [
        {
          id: 'string'
          name: 'string'
        }
      ]
    }
    environmentVariables: [
      {
        name: 'string'
        secureValue: 'string'
        value: 'string'
      }
    ]
    forceUpdateTag: 'string'
    primaryScriptUri: 'string'
    retentionInterval: 'string'
    scriptContent: 'string'
    storageAccountSettings: {
      storageAccountKey: 'string'
      storageAccountName: 'string'
    }
    supportingScriptUris: [
      'string'
    ]
    timeout: 'string'
  }

对于 AzurePowerShell,请使用:

  kind: 'AzurePowerShell'
  properties: {
    arguments: 'string'
    azPowerShellVersion: 'string'
    cleanupPreference: 'string'
    containerSettings: {
      containerGroupName: 'string'
      subnetIds: [
        {
          id: 'string'
          name: 'string'
        }
      ]
    }
    environmentVariables: [
      {
        name: 'string'
        secureValue: 'string'
        value: 'string'
      }
    ]
    forceUpdateTag: 'string'
    primaryScriptUri: 'string'
    retentionInterval: 'string'
    scriptContent: 'string'
    storageAccountSettings: {
      storageAccountKey: 'string'
      storageAccountName: 'string'
    }
    supportingScriptUris: [
      'string'
    ]
    timeout: 'string'
  }

属性值

deploymentScripts

名称 说明
name 资源名称 字符串 (必需)
location 部署脚本的 ACI 和存储帐户的位置。 字符串 (必需)
标记 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
kind 设置对象类型 AzureCLI
AzurePowerShell (必需的)
标识 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 ManagedServiceIdentity

AzureCliScript

名称 说明
kind 脚本的类型。 “AzureCLI” (必需)
properties Azure CLI 脚本对象的属性。 AzureCliScriptProperties (必需)

AzureCliScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'Us West 2' 字符串
azCliVersion 要使用的 Azure CLI 模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“Always”。 “Always”
“OnExpiration”
“OnSuccess”
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置如何强制执行部署脚本,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的间隔。 此持续时间到期时,资源将被删除。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最长脚本执行时间。 默认值为 P1D 字符串

ContainerConfiguration

名称 说明
containerGroupName 容器组名称,如果未指定,则名称将自动生成。 不指定“containerGroupName”表示系统生成唯一名称,最终可能会将Azure Policy标记为不合规。 如果具有需要特定命名约定的Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或结尾,不允许使用连续短划线。 若要指定“containerGroupName”,请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不添加“containerSettings”属性。 字符串

约束:
最小长度 = 1
最大长度 = 63
subnetId 容器组的子网资源 ID。 ContainerGroupSubnetId[]

ContainerGroupSubnetId

名称 说明 Value
id 子网的资源 ID。 字符串 (必需)
name 子网的友好名称。 字符串

EnvironmentVariable

名称 说明
name 环境变量的名称。 字符串 (必需)
secureValue 安全环境变量的值。 字符串

约束:
敏感值。 作为安全参数传入。
value 环境变量的值。 字符串

StorageAccountConfiguration

名称 说明
storageAccountKey 存储帐户访问密钥。 字符串

约束:
敏感值。 作为安全参数传入。
storageAccountName 存储帐户名称。 字符串

AzurePowerShellScript

名称 说明
kind 脚本的类型。 “AzurePowerShell” (必需的)
properties Azure PowerShell脚本对象的属性。 AzurePowerShellScriptProperties (必需的)

AzurePowerShellScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'Us West 2' 字符串
azPowerShellVersion Azure PowerShell要使用的模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“Always”。 “Always”
“OnExpiration”
“OnSuccess”
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置如何强制执行部署脚本,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的时间间隔。 此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最大脚本执行时间。 默认值为 P1D 字符串

ManagedServiceIdentity

名称 说明 Value
type 托管标识的类型。 “UserAssigned”
userAssignedIdentities 与资源关联的用户分配的托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

此对象不包含部署期间要设置的任何属性。 所有属性均为 ReadOnly。

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
min.io Azure 网关

部署到 Azure
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API
创建 WordPress 站点

部署到 Azure
此模板在容器实例上创建 WordPress 站点
使用 Azure Windows 基线的 Azure 映像生成器

部署到 Azure
创建 Azure 映像生成器环境,并生成应用了最新 Windows 汇报和 Azure Windows 基线的 Windows Server 映像。
从 ZIP 存档 URL 导入 VHD Blob

部署到 Azure
部署基于专用磁盘映像的虚拟机需要将 VHD 文件导入存储帐户。 如果有多个 VHD 文件压缩在单个 ZIP 中,并且你获得用于提取 ZIP 存档的 URL,则此 ARM 模板将简化作业:下载、提取和导入到现有存储帐户 Blob 容器中。
将文件从 URI 复制到 Blob 存储容器

部署到 Azure
此模块从 URI 下载文件,并将其复制到 Azure storageAccount blob 容器。 storageAccount 必须已存在,并且源文件必须已暂存到 URI。
使用注册表创建容器应用和环境

部署到 Azure
使用Azure 容器注册表中的基本容器应用Create容器应用环境。 它还部署 Log Analytics 工作区来存储日志。
使用容器应用创建 Dapr pub-sub servicebus 应用

部署到 Azure
使用容器应用Create Dapr pub-sub servicebus 应用。
部署简单的 Azure Spring Apps 微服务应用程序

部署到 Azure
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。
具有静态网站源的 Front Door 标准版/高级版

部署到 Azure
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。
Create具有持久性存储的按需 SFTP 服务器

部署到 Azure
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。
为数据工厂复制数据工具快速入门Create blob

部署到 Azure
此模板为复制数据工具快速入门创建 Blob 存储并上传文件
Azure 数据工厂可以实现更多功能 - 单击一次尝试Azure 数据工厂

部署到 Azure
此模板为从 Azure Blob 复制到另一个 Azure Blob 的复制活动创建数据工厂管道
配置 Dev Box 服务

部署到 Azure
此模板将按照 Dev Box 快速入门指南创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。
使用 Helm (AKS) 的 Azure 容器服务

部署到 Azure
使用 Helm 通过 Azure 容器服务 (AKS) 部署托管群集
Create Azure 机器学习扫描作业

部署到 Azure
此模板创建用于超参数优化的 Azure 机器学习扫描作业。
Azure 防火墙 Premium 的测试环境

部署到 Azure
此模板创建具有高级功能的 Azure 防火墙 Premium 和防火墙策略,例如入侵检查检测 (IDPS) 、TLS 检查和 Web 类别筛选
通过 ACR 任务生成容器映像

部署到 Azure
此模板使用 DeploymentScript 来协调 ACR,以便从代码存储库生成容器映像。
将容器映像导入 ACR

部署到 Azure
此模板利用从 bicep 注册表导入 ACR 模块将公共容器映像导入Azure 容器注册表。
使用证书Create 应用程序网关

部署到 Azure
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。
使用部署脚本创建 Azure AD 对象

部署到 Azure
此示例使用部署脚本在 Azure Active Directory 中创建对象。
使用复杂的输入 & 输出Create部署脚本

部署到 Azure
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本以及读取复杂输入、输出和日志的最佳做法
使用复杂的输入 & 输出Create部署脚本

部署到 Azure
此模板演示了将复杂的输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法
Create ssh 密钥并将其存储在 KeyVault 中

部署到 Azure
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。
部署静态网站

部署到 Azure
使用支持存储帐户部署静态网站
具有远程生成的 Linux 上的 Function App 消耗计划

部署到 Azure
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,每次执行都计费,没有长期资源承诺。
Create Azure 虚拟网络管理器和示例 VNET

部署到 Azure
此模板将 Azure 虚拟网络 Manager 和示例虚拟网络部署到命名资源组中。 它支持多种连接拓扑和网络组成员身份类型。

ARM 模板资源定义

deploymentScripts 资源类型可以使用面向以下对象的操作进行部署:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

注解

若要了解如何在部署期间执行脚本,请参阅 在 Bicep 中使用部署脚本 或在 ARM 模板中使用部署脚本

资源格式

若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Resources/deploymentScripts",
  "apiVersion": "2023-08-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "kind": "string",
  "identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  // For remaining properties, see deploymentScripts objects
}

deploymentScripts 对象

设置 kind 属性以指定对象的类型。

对于 AzureCLI,请使用:

  "kind": "AzureCLI",
  "properties": {
    "arguments": "string",
    "azCliVersion": "string",
    "cleanupPreference": "string",
    "containerSettings": {
      "containerGroupName": "string",
      "subnetIds": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    },
    "environmentVariables": [
      {
        "name": "string",
        "secureValue": "string",
        "value": "string"
      }
    ],
    "forceUpdateTag": "string",
    "primaryScriptUri": "string",
    "retentionInterval": "string",
    "scriptContent": "string",
    "storageAccountSettings": {
      "storageAccountKey": "string",
      "storageAccountName": "string"
    },
    "supportingScriptUris": [ "string" ],
    "timeout": "string"
  }

对于 AzurePowerShell,请使用:

  "kind": "AzurePowerShell",
  "properties": {
    "arguments": "string",
    "azPowerShellVersion": "string",
    "cleanupPreference": "string",
    "containerSettings": {
      "containerGroupName": "string",
      "subnetIds": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    },
    "environmentVariables": [
      {
        "name": "string",
        "secureValue": "string",
        "value": "string"
      }
    ],
    "forceUpdateTag": "string",
    "primaryScriptUri": "string",
    "retentionInterval": "string",
    "scriptContent": "string",
    "storageAccountSettings": {
      "storageAccountKey": "string",
      "storageAccountName": "string"
    },
    "supportingScriptUris": [ "string" ],
    "timeout": "string"
  }

属性值

deploymentScripts

名称 说明 Value
type 资源类型 'Microsoft.Resources/deploymentScripts'
apiVersion 资源 API 版本 '2023-08-01'
name 资源名称 字符串 (必需)
location ACI 的位置和部署脚本的存储帐户。 字符串 (必需)
标记 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
kind 设置对象类型 AzureCLI
需要 AzurePowerShell ()
标识 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 ManagedServiceIdentity

AzureCliScript

名称 说明
kind 脚本的类型。 “AzureCLI” ()
properties Azure CLI 脚本对象的属性。 AzureCliScriptProperties (所需的)

AzureCliScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'West US 2' 字符串
azCliVersion 要使用的 Azure CLI 模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“始终”。 “Always”
“OnExpiration”
'OnSuccess'
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置即使脚本资源未更改,也应如何强制执行部署脚本。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的时间间隔。 此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最大脚本执行时间。 默认值为 P1D 字符串

ContainerConfiguration

名称 说明
containerGroupName 容器组名称,如果未指定,则名称将自动生成。 不指定“containerGroupName”表示系统生成唯一名称,最终可能会将Azure Policy标记为不合规。 如果具有需要特定命名约定的Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或结尾,不允许使用连续短划线。 若要指定“containerGroupName”,请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不添加“containerSettings”属性。 字符串

约束:
最小长度 = 1
最大长度 = 63
subnetId 容器组的子网资源 ID。 ContainerGroupSubnetId[]

ContainerGroupSubnetId

名称 说明 Value
id 子网的资源 ID。 字符串 (必需)
name 子网的友好名称。 字符串

EnvironmentVariable

名称 说明
name 环境变量的名称。 字符串 (必需)
secureValue 安全环境变量的值。 字符串

约束:
敏感值。 作为安全参数传入。
value 环境变量的值。 字符串

StorageAccountConfiguration

名称 说明
storageAccountKey 存储帐户访问密钥。 字符串

约束:
敏感值。 作为安全参数传入。
storageAccountName 存储帐户名称。 字符串

AzurePowerShellScript

名称 说明
kind 脚本的类型。 需要“AzurePowerShell” ()
properties Azure PowerShell脚本对象的属性。 AzurePowerShellScriptProperties (必需)

AzurePowerShellScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'Us West 2' 字符串
azPowerShellVersion Azure PowerShell要使用的模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“Always”。 “Always”
“OnExpiration”
“OnSuccess”
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置如何强制执行部署脚本,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的间隔。 此持续时间到期时,资源将被删除。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最长脚本执行时间。 默认值为 P1D 字符串

ManagedServiceIdentity

名称 说明 Value
type 托管标识的类型。 “UserAssigned”
userAssignedIdentities 与资源关联的用户分配的托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
min.io Azure 网关

部署到 Azure
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API
创建 WordPress 站点

部署到 Azure
此模板在容器实例上创建 WordPress 站点
使用 Azure Windows 基线的 Azure 映像生成器

部署到 Azure
创建 Azure 映像生成器环境并生成应用了最新 Windows 汇报和 Azure Windows 基线的 Windows Server 映像。
从 ZIP 存档 URL 导入 VHD Blob

部署到 Azure
基于专用磁盘映像部署虚拟机需要将 VHD 文件导入存储帐户。 如果单个 ZIP 中压缩了多个 VHD 文件,并且你获得了用于提取 ZIP 存档的 URL,则此 ARM 模板将简化作业:下载、提取和导入到现有存储帐户 Blob 容器中。
将文件从 URI 复制到 Blob 存储容器

部署到 Azure
此模块从 URI 下载文件,并将其复制到 Azure storageAccount Blob 容器。 storageAccount 必须已存在,并且源文件必须已暂存到 URI。
使用注册表创建容器应用和环境

部署到 Azure
使用Azure 容器注册表中的基本容器应用Create容器应用环境。 它还部署 Log Analytics 工作区来存储日志。
使用容器应用创建 Dapr pub-sub servicebus 应用

部署到 Azure
使用容器应用Create Dapr pub-sub servicebus 应用。
部署简单的 Azure Spring Apps 微服务应用程序

部署到 Azure
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。
具有静态网站源的 Front Door 标准版/高级版

部署到 Azure
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。
Create具有持久性存储的按需 SFTP 服务器

部署到 Azure
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。
为数据工厂复制数据工具快速入门Create blob

部署到 Azure
此模板为复制数据工具快速入门创建 Blob 存储并上传文件
Azure 数据工厂可以实现更多功能 - 单击一次尝试Azure 数据工厂

部署到 Azure
此模板为从 Azure Blob 复制到另一个 Azure Blob 的复制活动创建数据工厂管道
配置 Dev Box 服务

部署到 Azure
此模板将按照 Dev Box 快速入门指南创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。
使用 Helm (AKS) 的 Azure 容器服务

部署到 Azure
使用 Helm 通过 Azure 容器服务 (AKS) 部署托管群集
Create Azure 机器学习扫描作业

部署到 Azure
此模板创建用于超参数优化的 Azure 机器学习扫描作业。
Azure 防火墙 Premium 的测试环境

部署到 Azure
此模板创建具有高级功能的 Azure 防火墙 Premium 和防火墙策略,例如入侵检查检测 (IDPS) 、TLS 检查和 Web 类别筛选
通过 ACR 任务生成容器映像

部署到 Azure
此模板使用 DeploymentScript 来协调 ACR,以便从代码存储库生成容器映像。
将容器映像导入 ACR

部署到 Azure
此模板利用从 bicep 注册表导入 ACR 模块将公共容器映像导入Azure 容器注册表。
使用证书Create 应用程序网关

部署到 Azure
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。
使用部署脚本创建 Azure AD 对象

部署到 Azure
此示例使用部署脚本在 Azure Active Directory 中创建对象。
使用复杂的输入 & 输出Create部署脚本

部署到 Azure
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本以及读取复杂输入、输出和日志的最佳做法
使用复杂的输入 & 输出Create部署脚本

部署到 Azure
此模板演示了将复杂的输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法
Create ssh 密钥并将其存储在 KeyVault 中

部署到 Azure
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。
部署静态网站

部署到 Azure
使用支持存储帐户部署静态网站
具有远程生成的 Linux 上的 Function App 消耗计划

部署到 Azure
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,每次执行都计费,没有长期资源承诺。
Create Azure 虚拟网络管理器和示例 VNET

部署到 Azure
此模板将 Azure 虚拟网络 Manager 和示例虚拟网络部署到命名资源组中。 它支持多种连接拓扑和网络组成员身份类型。

Terraform (AzAPI 提供程序) 资源定义

deploymentScripts 资源类型可以使用面向以下对象的操作进行部署:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Resources/deploymentScripts@2023-08-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "UserAssigned"
    identity_ids = []
  }
  // For remaining properties, see deploymentScripts objects
  body = jsonencode({
    kind = "string"
  })
}

deploymentScripts 对象

设置 kind 属性以指定对象的类型。

对于 AzureCLI,请使用:

  kind = "AzureCLI"
  properties = {
    arguments = "string"
    azCliVersion = "string"
    cleanupPreference = "string"
    containerSettings = {
      containerGroupName = "string"
      subnetIds = [
        {
          id = "string"
          name = "string"
        }
      ]
    }
    environmentVariables = [
      {
        name = "string"
        secureValue = "string"
        value = "string"
      }
    ]
    forceUpdateTag = "string"
    primaryScriptUri = "string"
    retentionInterval = "string"
    scriptContent = "string"
    storageAccountSettings = {
      storageAccountKey = "string"
      storageAccountName = "string"
    }
    supportingScriptUris = [
      "string"
    ]
    timeout = "string"
  }

对于 AzurePowerShell,请使用:

  kind = "AzurePowerShell"
  properties = {
    arguments = "string"
    azPowerShellVersion = "string"
    cleanupPreference = "string"
    containerSettings = {
      containerGroupName = "string"
      subnetIds = [
        {
          id = "string"
          name = "string"
        }
      ]
    }
    environmentVariables = [
      {
        name = "string"
        secureValue = "string"
        value = "string"
      }
    ]
    forceUpdateTag = "string"
    primaryScriptUri = "string"
    retentionInterval = "string"
    scriptContent = "string"
    storageAccountSettings = {
      storageAccountKey = "string"
      storageAccountName = "string"
    }
    supportingScriptUris = [
      "string"
    ]
    timeout = "string"
  }

属性值

deploymentScripts

名称 说明 Value
type 资源类型 “Microsoft.Resources/deploymentScripts@2023-08-01”
name 资源名称 字符串 (必需)
location ACI 的位置和部署脚本的存储帐户。 字符串 (必需)
parent_id 若要部署到资源组,请使用该资源组的 ID。 字符串 (必需)
标记 资源标记。 标记名称和值的字典。
kind 设置对象类型 AzureCLI
需要 AzurePowerShell ()
标识 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 ManagedServiceIdentity

AzureCliScript

名称 说明
kind 脚本的类型。 “AzureCLI” (必需)
properties Azure CLI 脚本对象的属性。 AzureCliScriptProperties (必需)

AzureCliScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'Us West 2' 字符串
azCliVersion 要使用的 Azure CLI 模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“Always”。 “Always”
“OnExpiration”
“OnSuccess”
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置如何强制执行部署脚本,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的间隔。 此持续时间到期时,资源将被删除。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最长脚本执行时间。 默认值为 P1D 字符串

ContainerConfiguration

名称 说明
containerGroupName 容器组名称,如果未指定,则名称将自动生成。 不指定“containerGroupName”表示系统生成唯一名称,最终可能会将Azure Policy标记为不合规。 如果具有需要特定命名约定的Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或结尾,不允许使用连续短划线。 若要指定“containerGroupName”,请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不添加“containerSettings”属性。 字符串

约束:
最小长度 = 1
最大长度 = 63
subnetId 容器组的子网资源 ID。 ContainerGroupSubnetId[]

ContainerGroupSubnetId

名称 说明 Value
id 子网的资源 ID。 字符串 (必需)
name 子网的友好名称。 字符串

EnvironmentVariable

名称 说明
name 环境变量的名称。 字符串 (必需)
secureValue 安全环境变量的值。 字符串

约束:
敏感值。 作为安全参数传入。
value 环境变量的值。 字符串

StorageAccountConfiguration

名称 说明
storageAccountKey 存储帐户访问密钥。 字符串

约束:
敏感值。 作为安全参数传入。
storageAccountName 存储帐户名称。 字符串

AzurePowerShellScript

名称 说明
kind 脚本的类型。 需要“AzurePowerShell” ()
properties Azure PowerShell脚本对象的属性。 AzurePowerShellScriptProperties (必需)

AzurePowerShellScriptProperties

名称 说明
参数 要传递给脚本的命令行参数。 参数由空格分隔。 例如: -Name blue* -Location 'West US 2' 字符串
azPowerShellVersion Azure PowerShell要使用的模块版本。 字符串 (必需)
cleanupPreference 脚本执行处于终端状态时的清理首选项。 默认设置为“始终”。 “Always”
“OnExpiration”
“OnSuccess”
containerSettings 容器设置。 ContainerConfiguration
environmentVariables 要传递给脚本的环境变量。 EnvironmentVariable[]
forceUpdateTag 获取或设置即使脚本资源未更改,也应如何强制执行部署脚本。 可以是当前时间戳或 GUID。 字符串
primaryScriptUri 脚本的 URI。 这是外部脚本的入口点。 字符串
retentionInterval 服务在达到终端状态后保留脚本资源的时间间隔。 此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式 (例如 P1D 表示一天) 。 字符串 (必需)
scriptContent 脚本正文。 字符串
storageAccountSettings 存储帐户设置。 StorageAccountConfiguration
supportingScriptUris 外部脚本的支持文件。 string[]
timeout 以 ISO 8601 格式指定的允许的最大脚本执行时间。 默认值为 P1D 字符串

ManagedServiceIdentity

名称 说明 Value
type 托管标识的类型。 “UserAssigned”
identity_ids 与资源关联的用户分配的托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 用户标识 ID 的数组。

ManagedServiceIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

此对象不包含部署期间要设置的任何属性。 所有属性均为 ReadOnly。