你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Resources deploymentScripts 2020-10-01
Bicep 资源定义
deploymentScripts 资源类型可以使用目标操作进行部署:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中更改的属性的列表,请参阅 更改日志。
注解
若要了解如何在部署期间执行脚本,请参阅 在 Bicep 中使用部署脚本 或在 ARM 模板中使用部署脚本。
资源格式
若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Resources/deploymentScripts@2020-10-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'
}
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'
}
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 |
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” |
userAssignedIdentities | 与资源关联的用户分配的托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
名称 | 说明 | 值 |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含部署期间要设置的任何属性。 所有属性均为 ReadOnly。
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API |
创建 WordPress 站点 |
此模板在容器实例上创建 WordPress 站点 |
使用 Azure Windows 基线的 Azure 映像生成器 |
创建 Azure 映像生成器环境,并生成应用了最新 Windows 汇报和 Azure Windows 基线的 Windows Server 映像。 |
从 ZIP 存档 URL 导入 VHD Blob |
部署基于专用磁盘映像的虚拟机需要将 VHD 文件导入存储帐户。 如果有多个 VHD 文件压缩在单个 ZIP 中,并且你获得用于提取 ZIP 存档的 URL,则此 ARM 模板将简化作业:下载、提取和导入到现有存储帐户 Blob 容器中。 |
将文件从 URI 复制到 Blob 存储容器 |
此模块从 URI 下载文件,并将其复制到 Azure storageAccount blob 容器。 storageAccount 必须已存在,并且源文件必须已暂存到 URI。 |
使用注册表创建容器应用和环境 |
使用Azure 容器注册表中的基本容器应用Create容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用Create Dapr pub-sub servicebus 应用。 |
部署简单的 Azure Spring Apps 微服务应用程序 |
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。 |
具有静态网站源的 Front Door 标准版/高级版 |
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。 |
Create具有持久性存储的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
为数据工厂复制数据工具快速入门Create blob |
此模板为复制数据工具快速入门创建 Blob 存储并上传文件 |
Azure 数据工厂可以实现更多功能 - 单击一次尝试Azure 数据工厂 |
此模板为从 Azure Blob 复制到另一个 Azure Blob 的复制活动创建数据工厂管道 |
配置 Dev Box 服务 |
此模板将按照 Dev Box 快速入门指南创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。 |
使用 Helm (AKS) 的 Azure 容器服务 |
使用 Helm 通过 Azure 容器服务 (AKS) 部署托管群集 |
Create Azure 机器学习扫描作业 |
此模板创建用于超参数优化的 Azure 机器学习扫描作业。 |
Azure 防火墙 Premium 的测试环境 |
此模板创建具有高级功能的 Azure 防火墙 Premium 和防火墙策略,例如入侵检查检测 (IDPS) 、TLS 检查和 Web 类别筛选 |
通过 ACR 任务生成容器映像 |
此模板使用 DeploymentScript 来协调 ACR,以便从代码存储库生成容器映像。 |
将容器映像导入 ACR |
此模板利用从 bicep 注册表导入 ACR 模块将公共容器映像导入Azure 容器注册表。 |
使用证书Create 应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
使用部署脚本创建 Azure AD 对象 |
此示例使用部署脚本在 Azure Active Directory 中创建对象。 |
使用复杂的输入 & 输出Create部署脚本 |
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
使用复杂的输入 & 输出Create部署脚本 |
此模板演示了将复杂的输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
Create ssh 密钥并将其存储在 KeyVault 中 |
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。 |
部署静态网站 |
使用支持存储帐户部署静态网站 |
具有远程生成的 Linux 上的 Function App 消耗计划 |
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,每次执行都计费,没有长期资源承诺。 |
Create Azure 虚拟网络管理器和示例 VNET |
此模板将 Azure 虚拟网络 Manager 和示例虚拟网络部署到命名资源组中。 它支持多种连接拓扑和网络组成员身份类型。 |
ARM 模板资源定义
deploymentScripts 资源类型可以使用面向以下对象的操作进行部署:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
注解
若要了解如何在部署期间执行脚本,请参阅 在 Bicep 中使用部署脚本 或在 ARM 模板中使用部署脚本。
资源格式
若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Resources/deploymentScripts",
"apiVersion": "2020-10-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"
},
"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"
},
"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 版本 | '2020-10-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 |
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” |
userAssignedIdentities | 与资源关联的用户分配的托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
名称 | 说明 | 值 |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API |
创建 WordPress 站点 |
此模板在容器实例上创建 WordPress 站点 |
使用 Azure Windows 基线的 Azure 映像生成器 |
创建 Azure 映像生成器环境并生成应用了最新 Windows 汇报和 Azure Windows 基线的 Windows Server 映像。 |
从 ZIP 存档 URL 导入 VHD Blob |
基于专用磁盘映像部署虚拟机需要将 VHD 文件导入存储帐户。 如果单个 ZIP 中压缩了多个 VHD 文件,并且你获得了用于提取 ZIP 存档的 URL,则此 ARM 模板将简化作业:下载、提取和导入到现有存储帐户 Blob 容器中。 |
将文件从 URI 复制到 Blob 存储容器 |
此模块从 URI 下载文件,并将其复制到 Azure storageAccount Blob 容器。 storageAccount 必须已存在,并且源文件必须已暂存到 URI。 |
使用注册表创建容器应用和环境 |
使用Azure 容器注册表中的基本容器应用Create容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用Create Dapr pub-sub servicebus 应用。 |
部署简单的 Azure Spring Apps 微服务应用程序 |
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。 |
具有静态网站源的 Front Door 标准版/高级版 |
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。 |
Create具有持久性存储的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
为数据工厂复制数据工具快速入门Create Blob |
此模板创建 Blob 存储并上传复制数据工具快速入门的文件 |
Azure 数据工厂可以执行更多操作 - 单击一次尝试Azure 数据工厂 |
此模板为复制活动从 Azure Blob 到另一个 Azure Blob 创建数据工厂管道 |
配置 Dev Box 服务 |
此模板将按照 Dev Box 快速入门指南创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。 |
使用 Helm (AKS) 的 Azure 容器服务 |
使用 Helm 使用 Azure 容器服务 (AKS) 部署托管群集 |
Create Azure 机器学习扫描作业 |
此模板创建用于超参数优化的 Azure 机器学习扫描作业。 |
Azure 防火墙 Premium 的测试环境 |
此模板创建具有高级功能的Azure 防火墙高级和防火墙策略,例如入侵检查 (IDPS) 、TLS 检查和 Web 类别筛选 |
通过 ACR 任务生成容器映像 |
此模板使用 DeploymentScript 协调 ACR,以从代码存储库生成容器映像。 |
将容器映像导入 ACR |
此模板利用从 bicep 注册表导入 ACR 模块将公共容器映像导入Azure 容器注册表。 |
使用证书Create 应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
使用部署脚本创建 Azure AD 对象 |
此示例使用部署脚本在 Azure Active Directory 中创建对象。 |
使用复杂的输入 & 输出Create部署脚本 |
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
使用复杂的输入 & 输出Create部署脚本 |
此模板演示了将复杂的输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
Create ssh 密钥并将其存储在 KeyVault 中 |
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。 |
部署静态网站 |
使用支持存储帐户部署静态网站 |
具有远程生成的 Linux 上的 Function App 消耗计划 |
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,每次执行都计费,没有长期资源承诺。 |
Create Azure 虚拟网络管理器和示例 VNET |
此模板将 Azure 虚拟网络 Manager 和示例虚拟网络部署到命名资源组中。 它支持多种连接拓扑和网络组成员身份类型。 |
Terraform (AzAPI 提供程序) 资源定义
deploymentScripts 资源类型可以使用面向以下对象的操作进行部署:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Resources/deploymentScripts 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Resources/deploymentScripts@2020-10-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"
}
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"
}
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@2020-10-01” |
name | 资源名称 | 字符串 (必需) |
location | ACI 的位置和部署脚本的存储帐户。 | 字符串 (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | 字符串 (必需) |
标记 | 资源标记。 | 标记名称和值的字典。 |
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 |
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。