你当前正在访问 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 对象
设置 类型 属性以指定对象的类型。
对于 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
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) |
位置 | 部署脚本的 ACI 和存储帐户的位置。 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
类 | 设置对象类型 |
AzureCLI AzurePowerShell(必需) |
身份 | 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 | ManagedServiceIdentity |
AzureCliScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzureCLI”(必需) |
性能 | Azure CLI 脚本对象的属性。 | AzureCliScriptProperties(必需) |
AzureCliScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azCliVersion | 要使用的 Azure CLI 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “Always” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerGroupName | 如果未指定容器组名称,则名称将自动生成。 未指定“containerGroupName”表示系统生成唯一名称,最终可能会将 Azure Policy 标记为不合规。 如果具有需要特定命名约定的 Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或以连续短划线结尾。 若要指定'containerGroupName',请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不要添加“containerSettings”属性。 | 字符串 约束: 最小长度 = 1 最大长度 = 63 |
subnetIds | 容器组的子网资源 ID。 | ContainerGroupSubnetId[] |
ContainerGroupSubnetId
名字 | 描述 | 价值 |
---|---|---|
id | 子网的资源 ID。 | string (必需) |
名字 | 子网的友好名称。 | 字符串 |
EnvironmentVariable
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
secureValue | 安全环境变量的值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
价值 | 环境变量的值。 | 字符串 |
StorageAccountConfiguration
名字 | 描述 | 价值 |
---|---|---|
storageAccountKey | 存储帐户访问密钥。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
storageAccountName | 存储帐户名称。 | 字符串 |
AzurePowerShellScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzurePowerShell”(必需) |
性能 | Azure PowerShell 脚本对象的属性。 | AzurePowerShellScriptProperties(必需) |
AzurePowerShellScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azPowerShellVersion | 要使用的 Azure PowerShell 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “Always” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管标识的类型。 | “UserAssigned” |
userAssignedIdentities | 与资源关联的用户分配托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供受 Blob 存储支持的符合 S3 的存储 API |
创建 WordPress 网站 |
此模板在容器实例上创建 WordPress 站点 |
使用 Azure Windows 基线 |
创建 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 容器注册表中的基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用创建 Dapr pub-sub servicebus 应用。 |
部署简单的 Azure Spring Apps 微服务应用程序 |
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。 |
使用静态网站源 Front Door 标准版/高级版 |
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。 |
创建具有持久性存储 的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例(ACI)的按需 SFTP 服务器。 |
FinOps 中心 |
此模板创建新的 FinOps 中心实例,包括 Data Lake 存储和数据工厂。 |
为数据工厂复制数据工具创建 blob 快速入门 |
此模板创建 Blob 存储并上传复制数据工具快速入门的文件 |
可以使用 Azure 数据工厂 更多 - 单击一次尝试 Azure 数据工厂 |
此模板为从 Azure Blob 复制到另一个 Azure Blob 中的复制活动创建数据工厂管道 |
配置 Dev Box 服务 |
根据 Dev Box 快速入门指南(https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box),此模板将创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。 |
使用 Helm |
使用 Helm 部署具有 Azure 容器服务(AKS)的托管群集 |
创建 Azure 机器学习扫描作业 |
此模板创建用于超参数优化的 Azure 机器学习扫描作业。 |
Azure 防火墙高级版 的 |
此模板创建具有高级功能(例如入侵检查检测(IDPS)、TLS 检查和 Web 类别筛选等高级功能的 Azure 防火墙高级和防火墙策略 |
使用 ACR 任务 生成容器映像 |
此模板使用 DeploymentScript 来协调 ACR,以便从代码存储库生成容器映像。 |
将容器映像导入 ACR |
此模板利用 bicep 注册表中的 Import ACR 模块将公共容器映像导入 Azure 容器注册表。 |
使用证书创建应用程序网关 |
此模板演示如何生成 Key Vault 自签名证书,然后从应用程序网关引用。 |
使用部署脚本创建 Azure AD 对象 |
此示例使用部署脚本在 Azure Active Directory 中创建对象。 |
创建具有复杂输入的部署脚本 & 输出 |
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本的最佳做法 |
创建具有复杂输入的部署脚本 & 输出 |
此模板演示了将复杂输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
创建 ssh 密钥并将其存储在 KeyVault |
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。 |
部署静态网站 |
使用支持存储帐户部署静态网站 |
使用远程生成 的 Linux 消耗计划上的 |
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,并且按执行计费,且没有持续的资源承诺。 |
创建 Azure 虚拟网络管理器和示例 VNET |
此模板将 Azure 虚拟网络管理器和示例虚拟网络部署到命名资源组中。 它支持多个连接拓扑和网络组成员身份类型。 |
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 对象
设置 类型 属性以指定对象的类型。
对于 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
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Resources/deploymentScripts” |
apiVersion | 资源 API 版本 | '2023-08-01' |
名字 | 资源名称 | string (必需) |
位置 | 部署脚本的 ACI 和存储帐户的位置。 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
类 | 设置对象类型 |
AzureCLI AzurePowerShell(必需) |
身份 | 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 | ManagedServiceIdentity |
AzureCliScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzureCLI”(必需) |
性能 | Azure CLI 脚本对象的属性。 | AzureCliScriptProperties(必需) |
AzureCliScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azCliVersion | 要使用的 Azure CLI 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “Always” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerGroupName | 如果未指定容器组名称,则名称将自动生成。 未指定“containerGroupName”表示系统生成唯一名称,最终可能会将 Azure Policy 标记为不合规。 如果具有需要特定命名约定的 Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或以连续短划线结尾。 若要指定'containerGroupName',请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不要添加“containerSettings”属性。 | 字符串 约束: 最小长度 = 1 最大长度 = 63 |
subnetIds | 容器组的子网资源 ID。 | ContainerGroupSubnetId[] |
ContainerGroupSubnetId
名字 | 描述 | 价值 |
---|---|---|
id | 子网的资源 ID。 | string (必需) |
名字 | 子网的友好名称。 | 字符串 |
EnvironmentVariable
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
secureValue | 安全环境变量的值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
价值 | 环境变量的值。 | 字符串 |
StorageAccountConfiguration
名字 | 描述 | 价值 |
---|---|---|
storageAccountKey | 存储帐户访问密钥。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
storageAccountName | 存储帐户名称。 | 字符串 |
AzurePowerShellScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzurePowerShell”(必需) |
性能 | Azure PowerShell 脚本对象的属性。 | AzurePowerShellScriptProperties(必需) |
AzurePowerShellScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azPowerShellVersion | 要使用的 Azure PowerShell 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “Always” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管标识的类型。 | “UserAssigned” |
userAssignedIdentities | 与资源关联的用户分配托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供受 Blob 存储支持的符合 S3 的存储 API |
创建 WordPress 网站 |
此模板在容器实例上创建 WordPress 站点 |
使用 Azure Windows 基线 |
创建 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 容器注册表中的基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用创建 Dapr pub-sub servicebus 应用。 |
部署简单的 Azure Spring Apps 微服务应用程序 |
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。 |
使用静态网站源 Front Door 标准版/高级版 |
此模板创建 Front Door 标准版/高级版和 Azure 存储静态网站,并将 Front Door 配置为将流量发送到静态网站。 |
创建具有持久性存储 的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例(ACI)的按需 SFTP 服务器。 |
FinOps 中心 |
此模板创建新的 FinOps 中心实例,包括 Data Lake 存储和数据工厂。 |
为数据工厂复制数据工具创建 blob 快速入门 |
此模板创建 Blob 存储并上传复制数据工具快速入门的文件 |
可以使用 Azure 数据工厂 更多 - 单击一次尝试 Azure 数据工厂 |
此模板为从 Azure Blob 复制到另一个 Azure Blob 中的复制活动创建数据工厂管道 |
配置 Dev Box 服务 |
根据 Dev Box 快速入门指南(https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box),此模板将创建所有 Dev Box 管理员资源。 可以查看创建的所有资源,也可以直接转到 DevPortal.microsoft.com 创建第一个 Dev Box。 |
使用 Helm |
使用 Helm 部署具有 Azure 容器服务(AKS)的托管群集 |
创建 Azure 机器学习扫描作业 |
此模板创建用于超参数优化的 Azure 机器学习扫描作业。 |
Azure 防火墙高级版 的 |
此模板创建具有高级功能(例如入侵检查检测(IDPS)、TLS 检查和 Web 类别筛选等高级功能的 Azure 防火墙高级和防火墙策略 |
使用 ACR 任务 生成容器映像 |
此模板使用 DeploymentScript 来协调 ACR,以便从代码存储库生成容器映像。 |
将容器映像导入 ACR |
此模板利用 bicep 注册表中的 Import ACR 模块将公共容器映像导入 Azure 容器注册表。 |
使用证书创建应用程序网关 |
此模板演示如何生成 Key Vault 自签名证书,然后从应用程序网关引用。 |
使用部署脚本创建 Azure AD 对象 |
此示例使用部署脚本在 Azure Active Directory 中创建对象。 |
创建具有复杂输入的部署脚本 & 输出 |
此模板演示了将复杂输入、输出和日志传递给 Az CLI 部署脚本的最佳做法 |
创建具有复杂输入的部署脚本 & 输出 |
此模板演示了将复杂输入、输出和日志传递到 Az Powershell 部署脚本以及读取复杂输入、输出和日志的最佳做法 |
创建 ssh 密钥并将其存储在 KeyVault |
此模板使用 deploymentScript 资源生成 ssh 密钥,并将私钥存储在 keyVault 中。 |
部署静态网站 |
使用支持存储帐户部署静态网站 |
使用远程生成 的 Linux 消耗计划上的 |
此模板在 Linux 消耗计划上预配函数应用,并在代码部署期间执行远程生成。 应用按需运行,并且按执行计费,且没有持续的资源承诺。 |
创建 Azure 虚拟网络管理器和示例 VNET |
此模板将 Azure 虚拟网络管理器和示例虚拟网络部署到命名资源组中。 它支持多个连接拓扑和网络组成员身份类型。 |
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 对象
设置 类型 属性以指定对象的类型。
对于 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
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Resources/deploymentScripts@2023-08-01” |
名字 | 资源名称 | string (必需) |
位置 | 部署脚本的 ACI 和存储帐户的位置。 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 |
类 | 设置对象类型 |
AzureCLI AzurePowerShell(必需) |
身份 | 可选属性。 要用于此部署脚本的托管标识。 目前,仅支持用户分配的 MSI。 | ManagedServiceIdentity |
AzureCliScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzureCLI”(必需) |
性能 | Azure CLI 脚本对象的属性。 | AzureCliScriptProperties(必需) |
AzureCliScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azCliVersion | 要使用的 Azure CLI 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “始终” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerGroupName | 如果未指定容器组名称,则名称将自动生成。 未指定“containerGroupName”表示系统生成唯一名称,最终可能会将 Azure Policy 标记为不合规。 如果具有需要特定命名约定的 Azure Policy,或者想要完全控制名称,请使用“containerGroupName”。 “containerGroupName”属性的长度必须介于 1 到 63 个字符之间,只能包含小写字母、数字和短划线,并且不能以短划线开头或以连续短划线结尾。 若要指定'containerGroupName',请将以下对象添加到属性:{ “containerSettings”: { “containerGroupName”: “contoso-container” } }。 如果不想指定“containerGroupName”,则不要添加“containerSettings”属性。 | 字符串 约束: 最小长度 = 1 最大长度 = 63 |
subnetIds | 容器组的子网资源 ID。 | ContainerGroupSubnetId[] |
ContainerGroupSubnetId
名字 | 描述 | 价值 |
---|---|---|
id | 子网的资源 ID。 | string (必需) |
名字 | 子网的友好名称。 | 字符串 |
EnvironmentVariable
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
secureValue | 安全环境变量的值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
价值 | 环境变量的值。 | 字符串 |
StorageAccountConfiguration
名字 | 描述 | 价值 |
---|---|---|
storageAccountKey | 存储帐户访问密钥。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
storageAccountName | 存储帐户名称。 | 字符串 |
AzurePowerShellScript
名字 | 描述 | 价值 |
---|---|---|
类 | 脚本的类型。 | “AzurePowerShell”(必需) |
性能 | Azure PowerShell 脚本对象的属性。 | AzurePowerShellScriptProperties(必需) |
AzurePowerShellScriptProperties
名字 | 描述 | 价值 |
---|---|---|
参数 | 要传递给脚本的命令行参数。 参数用空格分隔。 例如:-Name 蓝色* -Location “美国西部 2” | 字符串 |
azPowerShellVersion | 要使用的 Azure PowerShell 模块版本。 | string (必需) |
cleanupPreference | 当脚本执行处于终端状态时,清理首选项。 默认设置为“Always”。 | “始终” “OnExpiration” “OnSuccess” |
containerSettings | 容器设置。 | ContainerConfiguration |
environmentVariables | 要传递给脚本的环境变量。 | EnvironmentVariable[] |
forceUpdateTag | 获取或设置部署脚本的执行方式,即使脚本资源未更改也是如此。 可以是当前时间戳或 GUID。 | 字符串 |
primaryScriptUri | 脚本的 URI。 这是外部脚本的入口点。 | 字符串 |
retentionInterval | 服务到达终端状态后保留脚本资源的间隔。 当此持续时间到期时,将删除资源。 持续时间基于 ISO 8601 模式(例如 P1D 表示一天)。 | string (必需) |
scriptContent | 脚本正文。 | 字符串 |
storageAccountSettings | 存储帐户设置。 | StorageAccountConfiguration |
supportingScriptUris | 支持外部脚本的文件。 | string[] |
超时 | ISO 8601 格式指定的最大允许脚本执行时间。 默认值为 P1D | 字符串 |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管标识的类型。 | “UserAssigned” |
identity_ids | 与资源关联的用户分配托管标识的列表。 密钥是托管标识的 Azure 资源 ID。 | 用户标识 ID 的数组。 |
ManagedServiceIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。