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

Microsoft.Solutions 应用程序定义

Bicep 资源定义

可以使用目标操作部署 applicationDefinitions 资源类型:

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

资源格式

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

resource symbolicname 'Microsoft.Solutions/applicationDefinitions@2023-12-01-preview' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  managedBy: 'string'
  name: 'string'
  properties: {
    artifacts: [
      {
        name: 'string'
        type: 'string'
        uri: 'string'
      }
    ]
    authorizations: [
      {
        principalId: 'string'
        roleDefinitionId: 'string'
      }
    ]
    createUiDefinition: any(...)
    deploymentPolicy: {
      deploymentMode: 'string'
    }
    description: 'string'
    displayName: 'string'
    isEnabled: bool
    lockingPolicy: {
      allowedActions: [
        'string'
      ]
      allowedDataActions: [
        'string'
      ]
    }
    lockLevel: 'string'
    mainTemplate: any(...)
    managementPolicy: {
      mode: 'string'
    }
    notificationPolicy: {
      notificationEndpoints: [
        {
          uri: 'string'
        }
      ]
    }
    packageFileUri: 'string'
    policies: [
      {
        name: 'string'
        parameters: 'string'
        policyDefinitionId: 'string'
      }
    ]
    storageAccountId: 'string'
  }
  sku: {
    capacity: int
    family: 'string'
    model: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

Microsoft.Solutions/applicationDefinitions

名字 描述 价值
位置 资源位置 字符串
managedBy 管理此资源的资源的 ID。 字符串
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 64 (必需)
性能 托管应用程序定义属性。 ApplicationDefinitionProperties(必需)
作用域 在与部署范围不同的范围内创建资源时使用。 将此属性设置为资源的符号名称以应用 扩展资源
SKU 资源的 SKU。 SKU
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

ApplicationAuthorization 应用程序授权

名字 描述 价值
principalId (主体ID) 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 string (必需)
角色定义 ID 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 string (必需)

ApplicationDefinitionArtifact 的

名字 描述 价值
名字 托管应用程序定义项目名称。 “ApplicationResourceTemplate”
“CreateUiDefinition”
“MainTemplateParameters”
“NotSpecified”(必需)
类型 托管应用程序定义项目类型。 “Custom”
“NotSpecified”
“Template”(必需)
URI 托管应用程序定义项目 blob URI。 string (必需)

ApplicationDefinitionProperties

名字 描述 价值
工件 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 ApplicationDefinitionArtifact (应用程序定义工件
授权 托管应用程序提供程序授权。 ApplicationAuthorization[]
createUiDefinition Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
deploymentPolicy 托管应用程序部署策略。 ApplicationDeploymentPolicy 的
描述 托管应用程序定义说明。 字符串
displayName (显示名称) 托管应用程序定义显示名称。 字符串
isEnabled 已启用 一个值,该值指示是否启用包。 布尔
lockingPolicy (锁定策略) 托管应用程序锁定策略。 ApplicationPackageLockingPolicyDefinition
lockLevel 托管应用程序锁定级别。 “CanNotDelete”
“None”
“ReadOnly”(必需)
mainTemplate 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
管理策略 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 ApplicationManagementPolicy 应用程序管理策略
notificationPolicy (通知策略) 托管应用程序通知策略。 ApplicationNotificationPolicy
packageFileUri 的 托管应用程序定义包文件 URI。 使用此元素 字符串
政策 托管应用程序提供程序策略。 ApplicationPolicy []
storageAccountId 用于自带存储方案的存储帐户 ID。 字符串

ApplicationDeploymentPolicy 的

名字 描述 价值
deploymentMode 托管应用程序部署模式。 “Complete”
“Incremental”
“NotSpecified”(必需)

ApplicationManagementPolicy 应用程序管理策略

名字 描述 价值
模式 托管应用程序管理模式。 “Managed”
“NotSpecified”
“非托管”

ApplicationNotificationEndpoint

名字 描述 价值
URI 托管应用程序通知终结点 URI。 string (必需)

ApplicationNotificationPolicy

名字 描述 价值
notificationEndpoints 托管应用程序通知终结点。 ApplicationNotificationEndpoint[] (必需)

ApplicationPackageLockingPolicyDefinition

名字 描述 价值
allowedActions 拒绝分配排除的操作。 字符串[]
allowedDataActions 拒绝分配排除的数据操作。 字符串[]

应用程序策略

名字 描述 价值
名字 策略名称 字符串
参数 策略参数。 字符串
policyDefinitionId 策略定义 ID。 字符串

资源标签

名字 描述 价值

SKU

名字 描述 价值
产能 SKU 容量。 整数 (int)
家庭 SKU 系列。 字符串
模型 SKU 模型。 字符串
名字 SKU 名称。 string (必需)
大小 SKU 大小。 字符串
分层 SKU 层。 字符串

ARM 模板资源定义

可以使用目标操作部署 applicationDefinitions 资源类型:

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

资源格式

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

{
  "type": "Microsoft.Solutions/applicationDefinitions",
  "apiVersion": "2023-12-01-preview",
  "name": "string",
  "location": "string",
  "managedBy": "string",
  "properties": {
    "artifacts": [
      {
        "name": "string",
        "type": "string",
        "uri": "string"
      }
    ],
    "authorizations": [
      {
        "principalId": "string",
        "roleDefinitionId": "string"
      }
    ],
    "createUiDefinition": {},
    "deploymentPolicy": {
      "deploymentMode": "string"
    },
    "description": "string",
    "displayName": "string",
    "isEnabled": "bool",
    "lockingPolicy": {
      "allowedActions": [ "string" ],
      "allowedDataActions": [ "string" ]
    },
    "lockLevel": "string",
    "mainTemplate": {},
    "managementPolicy": {
      "mode": "string"
    },
    "notificationPolicy": {
      "notificationEndpoints": [
        {
          "uri": "string"
        }
      ]
    },
    "packageFileUri": "string",
    "policies": [
      {
        "name": "string",
        "parameters": "string",
        "policyDefinitionId": "string"
      }
    ],
    "storageAccountId": "string"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "model": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

Microsoft.Solutions/applicationDefinitions

名字 描述 价值
apiVersion API 版本 “2023-12-01-预览”
位置 资源位置 字符串
managedBy 管理此资源的资源的 ID。 字符串
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 64 (必需)
性能 托管应用程序定义属性。 ApplicationDefinitionProperties(必需)
SKU 资源的 SKU。 SKU
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Solutions/applicationDefinitions”

ApplicationAuthorization 应用程序授权

名字 描述 价值
principalId (主体ID) 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 string (必需)
角色定义 ID 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 string (必需)

ApplicationDefinitionArtifact 的

名字 描述 价值
名字 托管应用程序定义项目名称。 “ApplicationResourceTemplate”
“CreateUiDefinition”
“MainTemplateParameters”
“NotSpecified”(必需)
类型 托管应用程序定义项目类型。 “Custom”
“NotSpecified”
“Template”(必需)
URI 托管应用程序定义项目 blob URI。 string (必需)

ApplicationDefinitionProperties

名字 描述 价值
工件 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 ApplicationDefinitionArtifact (应用程序定义工件
授权 托管应用程序提供程序授权。 ApplicationAuthorization[]
createUiDefinition Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
deploymentPolicy 托管应用程序部署策略。 ApplicationDeploymentPolicy 的
描述 托管应用程序定义说明。 字符串
displayName (显示名称) 托管应用程序定义显示名称。 字符串
isEnabled 已启用 一个值,该值指示是否启用包。 布尔
lockingPolicy (锁定策略) 托管应用程序锁定策略。 ApplicationPackageLockingPolicyDefinition
lockLevel 托管应用程序锁定级别。 “CanNotDelete”
“None”
“ReadOnly”(必需)
mainTemplate 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
管理策略 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 ApplicationManagementPolicy 应用程序管理策略
notificationPolicy (通知策略) 托管应用程序通知策略。 ApplicationNotificationPolicy
packageFileUri 的 托管应用程序定义包文件 URI。 使用此元素 字符串
政策 托管应用程序提供程序策略。 ApplicationPolicy []
storageAccountId 用于自带存储方案的存储帐户 ID。 字符串

ApplicationDeploymentPolicy 的

名字 描述 价值
deploymentMode 托管应用程序部署模式。 “Complete”
“Incremental”
“NotSpecified”(必需)

ApplicationManagementPolicy 应用程序管理策略

名字 描述 价值
模式 托管应用程序管理模式。 “Managed”
“NotSpecified”
“非托管”

ApplicationNotificationEndpoint

名字 描述 价值
URI 托管应用程序通知终结点 URI。 string (必需)

ApplicationNotificationPolicy

名字 描述 价值
notificationEndpoints 托管应用程序通知终结点。 ApplicationNotificationEndpoint[] (必需)

ApplicationPackageLockingPolicyDefinition

名字 描述 价值
allowedActions 拒绝分配排除的操作。 字符串[]
allowedDataActions 拒绝分配排除的数据操作。 字符串[]

应用程序策略

名字 描述 价值
名字 策略名称 字符串
参数 策略参数。 字符串
policyDefinitionId 策略定义 ID。 字符串

资源标签

名字 描述 价值

SKU

名字 描述 价值
产能 SKU 容量。 整数 (int)
家庭 SKU 系列。 字符串
模型 SKU 模型。 字符串
名字 SKU 名称。 string (必需)
大小 SKU 大小。 字符串
分层 SKU 层。 字符串

用法示例

Azure 快速入门模板

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

模板 描述
创建部署链接模板的托管应用程序

部署到 Azure
此模板创建一个用于部署链接模板的托管应用程序。
使用自定义视图创建托管应用程序

部署到 Azure
此模板创建具有自定义默认视图的托管应用程序。
使用指标和警报创建托管应用程序

部署到 Azure
此模板创建具有应用程序指标和警报的托管应用程序。

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

可以使用目标操作部署 applicationDefinitions 资源类型:

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Solutions/applicationDefinitions@2023-12-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    managedBy = "string"
    properties = {
      artifacts = [
        {
          name = "string"
          type = "string"
          uri = "string"
        }
      ]
      authorizations = [
        {
          principalId = "string"
          roleDefinitionId = "string"
        }
      ]
      createUiDefinition = ?
      deploymentPolicy = {
        deploymentMode = "string"
      }
      description = "string"
      displayName = "string"
      isEnabled = bool
      lockingPolicy = {
        allowedActions = [
          "string"
        ]
        allowedDataActions = [
          "string"
        ]
      }
      lockLevel = "string"
      mainTemplate = ?
      managementPolicy = {
        mode = "string"
      }
      notificationPolicy = {
        notificationEndpoints = [
          {
            uri = "string"
          }
        ]
      }
      packageFileUri = "string"
      policies = [
        {
          name = "string"
          parameters = "string"
          policyDefinitionId = "string"
        }
      ]
      storageAccountId = "string"
    }
    sku = {
      capacity = int
      family = "string"
      model = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

属性值

Microsoft.Solutions/applicationDefinitions

名字 描述 价值
位置 资源位置 字符串
managedBy 管理此资源的资源的 ID。 字符串
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 64 (必需)
parent_id 要向其应用此扩展资源的资源的 ID。 string (必需)
性能 托管应用程序定义属性。 ApplicationDefinitionProperties(必需)
SKU 资源的 SKU。 SKU
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Solutions/applicationDefinitions@2023-12-01-preview”

ApplicationAuthorization 应用程序授权

名字 描述 价值
principalId (主体ID) 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 string (必需)
角色定义 ID 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 string (必需)

ApplicationDefinitionArtifact 的

名字 描述 价值
名字 托管应用程序定义项目名称。 “ApplicationResourceTemplate”
“CreateUiDefinition”
“MainTemplateParameters”
“NotSpecified”(必需)
类型 托管应用程序定义项目类型。 “Custom”
“NotSpecified”
“Template”(必需)
URI 托管应用程序定义项目 blob URI。 string (必需)

ApplicationDefinitionProperties

名字 描述 价值
工件 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 ApplicationDefinitionArtifact (应用程序定义工件
授权 托管应用程序提供程序授权。 ApplicationAuthorization[]
createUiDefinition Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
deploymentPolicy 托管应用程序部署策略。 ApplicationDeploymentPolicy 的
描述 托管应用程序定义说明。 字符串
displayName (显示名称) 托管应用程序定义显示名称。 字符串
isEnabled 已启用 一个值,该值指示是否启用包。 布尔
lockingPolicy (锁定策略) 托管应用程序锁定策略。 ApplicationPackageLockingPolicyDefinition
lockLevel 托管应用程序锁定级别。 “CanNotDelete”
“None”
“ReadOnly”(必需)
mainTemplate 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 任何
管理策略 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 ApplicationManagementPolicy 应用程序管理策略
notificationPolicy (通知策略) 托管应用程序通知策略。 ApplicationNotificationPolicy
packageFileUri 的 托管应用程序定义包文件 URI。 使用此元素 字符串
政策 托管应用程序提供程序策略。 ApplicationPolicy []
storageAccountId 用于自带存储方案的存储帐户 ID。 字符串

ApplicationDeploymentPolicy 的

名字 描述 价值
deploymentMode 托管应用程序部署模式。 “Complete”
“Incremental”
“NotSpecified”(必需)

ApplicationManagementPolicy 应用程序管理策略

名字 描述 价值
模式 托管应用程序管理模式。 “Managed”
“NotSpecified”
“非托管”

ApplicationNotificationEndpoint

名字 描述 价值
URI 托管应用程序通知终结点 URI。 string (必需)

ApplicationNotificationPolicy

名字 描述 价值
notificationEndpoints 托管应用程序通知终结点。 ApplicationNotificationEndpoint[] (必需)

ApplicationPackageLockingPolicyDefinition

名字 描述 价值
allowedActions 拒绝分配排除的操作。 字符串[]
allowedDataActions 拒绝分配排除的数据操作。 字符串[]

应用程序策略

名字 描述 价值
名字 策略名称 字符串
参数 策略参数。 字符串
policyDefinitionId 策略定义 ID。 字符串

资源标签

名字 描述 价值

SKU

名字 描述 价值
产能 SKU 容量。 整数 (int)
家庭 SKU 系列。 字符串
模型 SKU 模型。 字符串
名字 SKU 名称。 string (必需)
大小 SKU 大小。 字符串
分层 SKU 层。 字符串

用法示例

Terraform 示例

部署托管应用程序定义的基本示例。

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

data "azurerm_client_config" "current" {
}

data "azapi_resource_action" "roleDefinitions" {
  type                   = "Microsoft.Authorization@2018-01-01-preview"
  resource_id            = "/providers/Microsoft.Authorization"
  action                 = "roleDefinitions"
  method                 = "GET"
  response_export_values = ["*"]
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "applicationDefinition" {
  type      = "Microsoft.Solutions/applicationDefinitions@2021-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      authorizations = [
        {
          principalId      = data.azurerm_client_config.current.object_id
          roleDefinitionId = data.azapi_resource_action.roleDefinitions.output.value[0].name
        },
      ]
      description    = "Test Managed App Definition"
      displayName    = "TestManagedAppDefinition"
      isEnabled      = true
      lockLevel      = "ReadOnly"
      packageFileUri = "https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}