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

Microsoft.AppPlatform Spring/apps/deployments 2023-07-01-preview

Bicep 资源定义

可以使用目标操作部署 Spring/apps/deployments 资源类型:

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

资源格式

若要创建 Microsoft.AppPlatform/Spring/apps/deployments 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2023-07-01-preview' = {
  name: 'string'
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  parent: resourceSymbolicName
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: any()
      }
      apms: [
        {
          resourceId: 'string'
        }
      ]
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {
        {customized property}: 'string'
      }
      livenessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      readinessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      resourceRequests: {
        cpu: 'string'
        memory: 'string'
      }
      scale: {
        maxReplicas: int
        minReplicas: int
        rules: [
          {
            azureQueue: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
          }
        ]
      }
      startupProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      terminationGracePeriodSeconds: int
    }
    source: {
      version: 'string'
      type: 'string'
      // For remaining properties, see UserSourceInfo objects
    }
  }
}

ProbeAction 对象

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

对于 ExecAction,请使用:

  type: 'ExecAction'
  command: [
    'string'
  ]

对于 HTTPGetAction,请使用:

  type: 'HTTPGetAction'
  path: 'string'
  scheme: 'string'

对于 TCPSocketAction,请使用:

  type: 'TCPSocketAction'

UserSourceInfo 对象

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

对于 BuildResult,请使用:

  type: 'BuildResult'
  buildResultId: 'string'

对于 容器,请使用:

  type: 'Container'
  customContainer: {
    args: [
      'string'
    ]
    command: [
      'string'
    ]
    containerImage: 'string'
    imageRegistryCredential: {
      password: 'string'
      username: 'string'
    }
    languageFramework: 'string'
    server: 'string'
  }

对于 Jar,请使用:

  type: 'Jar'
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

对于 NetCoreZip,请使用:

  type: 'NetCoreZip'
  netCoreMainEntryPath: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

对于 ,请使用:

  type: 'Source'
  artifactSelector: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

属性值

Spring/apps/deployments

名字 描述 价值
名字 资源名称

了解如何在 Bicep中设置子资源的名称和类型。
string (必需)
sku 部署资源的 SKU Sku
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:应用
性能 部署资源的属性 DeploymentResourceProperties

DeploymentResourceProperties

名字 描述 价值
积极 指示部署是否处于活动状态 bool
deploymentSettings 部署的部署设置 DeploymentSettings
已上传部署的源信息。 UserSourceInfo

DeploymentSettings

名字 描述 价值
addonConfigs 加载项集合 DeploymentSettingsAddonConfigs
apms ApmReferences 的集合 ApmReference[]
containerProbeSettings 容器生存度和就绪情况探测设置 ContainerProbeSettings
environmentVariables 环境变量集合 DeploymentSettingsEnvironmentVariables
livenessProbe 定期探测应用实例的运行情况。 如果探测失败,应用实例将重新启动。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
readinessProbe 定期探测应用实例服务就绪情况。 如果探测失败,将从服务终结点中删除应用实例。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
resourceRequests 所需的 CPU 和内存的请求资源数量。 建议使用此字段来表示所需的 CPU 和内存,稍后将弃用旧字段 CPU 和 memoryInGB。 ResourceRequests
规模 缩放 Azure Spring Apps 应用实例的属性。 缩放
startupProbe StartupProbe 指示应用实例已成功初始化。 如果指定,则不会执行其他探测,直到成功完成。 如果此探测失败,Pod 将重新启动,就像 livenessProbe 失败一样。 这可用于在应用实例生命周期开始时提供不同的探测参数,这可能需要很长时间才能加载数据或预热缓存,而不是在稳定状态操作期间。 这无法更新。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
terminationGracePeriodSeconds 应用实例需要正常终止的可选持续时间(以秒为单位)。 删除请求可能会减少。 值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 如果此值为 nil,则会改用默认宽限期。 宽限期是在应用实例中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间之后的持续时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 默认值为 90 秒。 int

DeploymentSettingsAddonConfigs

名字 描述 价值
{自定义属性} 对于 Bicep,可以使用 any() 函数。

ApmReference

名字 描述 价值
resourceId APM 的资源 ID string (必需)

ContainerProbeSettings

名字 描述 价值
disableProbe 指示是否禁用实时性和就绪情况探测 bool

DeploymentSettingsEnvironmentVariables

名字 描述 价值
{自定义属性} 字符串

探针

名字 描述 价值
disableProbe 指示探测是否已禁用。 bool (必需)
failureThreshold 探测在成功后被视为失败的最小连续失败。 最小值为 1。 int
initialDelaySeconds 在启动探测之前启动应用实例后的秒数。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds 执行探测的频率(以秒为单位)。 最小值为 1。 int
probeAction 探测的操作。 ProbeAction
successThreshold 探测在失败后被视为成功的最小连续成功次数。 对于实时性和启动,必须为 1。 最小值为 1。 int
timeoutSeconds 探测超时的秒数。最小值为 1。 int

ProbeAction

名字 描述 价值
类型 设置对象类型 ExecAction
HTTPGetAction
TCPSocketAction (必需)

ExecAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “ExecAction”(必需)
命令 命令是在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录('/')。 该命令不在 shell 中运行,因此传统的 shell 指令('、'等)将不起作用。 若要使用 shell,需要显式调用该 shell。 退出状态为 0 被视为实时/正常,非零状态不正常。 string[]

HttpGetAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “HTTPGetAction”(必需)
路径 在 HTTP 服务器上访问的路径。 字符串
方案 用于连接到主机的方案。 默认为 HTTP。

可能的枚举值:
- "HTTP" 意味着所使用的方案将 http://
- "HTTPS" 意味着所使用的方案将 https://
“HTTP”
“HTTPS”

TCPSocketAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “TCPSocketAction”(必需)

ResourceRequests

名字 描述 价值
中央处理器 所需的 CPU。 1 核可以表示 1 或 1000 米。 对于基本层,这应为 500 米或 1,标准层应为 {500m、1、2、3、 4} 。 字符串
记忆 所需的内存。 1 GB 可以由 1Gi 或 1024Mi 表示。 对于基本层,这应该是 {512Mi、1Gi、2Gi} 和标准层的 {512Mi、1Gi、2Gi、...、8Gi}。 字符串

规模

名字 描述 价值
maxReplicas 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 int
minReplicas 自选。 容器副本的最小数量。 int
规则 缩放规则。 ScaleRule[]

ScaleRule

名字 描述 价值
azureQueue 基于 Azure 队列的缩放。 QueueScaleRule
习惯 自定义缩放规则。 CustomScaleRule
http 基于 HTTP 请求的缩放。 HttpScaleRule
名字 缩放规则名称 字符串
tcp 基于 Tcp 请求的缩放。 TcpScaleRule

QueueScaleRule

名字 描述 价值
认证 队列缩放规则的身份验证机密。 ScaleRuleAuth[]
queueLength 队列长度。 int
queueName 队列名称。 字符串

ScaleRuleAuth

名字 描述 价值
secretRef 要从中拉取身份验证参数的 Azure Spring Apps 应用实例机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

CustomScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述自定义缩放规则的元数据属性。 CustomScaleRuleMetadata
类型 自定义缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

CustomScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

HttpScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 描述 http 缩放规则的元数据属性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

TcpScaleRule

名字 描述 价值
认证 tcp 缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述 tcp 缩放规则的元数据属性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

UserSourceInfo

名字 描述 价值
版本 源的版本 字符串
类型 设置对象类型 BuildResult
容器
Jar
NetCoreZip
(必需)

BuildResultUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “BuildResult”(必需)
buildResultId 同一 Spring 实例下现有成功生成结果的资源 ID。 字符串

CustomContainerUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Container”(必需)
customContainer 自定义容器有效负载 CustomContainer

CustomContainer

名字 描述 价值
args 入口点的参数。 如果未提供 docker 映像的 CMD,则使用此 CMD。 string[]
命令 入口点数组。 未在 shell 中执行。 如果未提供 Docker 映像的 ENTRYPOINT,则使用此条目。 string[]
containerImage 自定义容器的容器映像。 这应采用 {repository}:{tag} 的形式,没有注册表的服务器名称 字符串
imageRegistryCredential 映像注册表的凭据 ImageRegistryCredential
languageFramework 上传的容器映像的语言框架。 支持的值:“springboot”、“”、null。 字符串
服务器 包含容器映像的注册表的名称 字符串

ImageRegistryCredential

名字 描述 价值
密码 映像注册表凭据的密码 字符串
username 映像注册表凭据的用户名 字符串

JarUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Jar”(必需)
jvmOptions JVM 参数 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion Jar 文件的运行时版本 字符串

NetCoreZipUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “NetCoreZip”(必需)
netCoreMainEntryPath 相对于 zip 根目录的 .NET 可执行文件的路径 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion .Net 文件的运行时版本 字符串

SourceUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Source”(必需)
artifactSelector 要用于多模块项目的部署的项目的选择器。 这应该是
目标模块/项目的相对路径。
字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion 源文件的运行时版本 字符串

Sku

名字 描述 价值
能力 目标资源的当前容量 int
名字 Sku 的名称 字符串
Sku 的层 字符串

快速入门模板

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

模板 描述
部署简单的 Azure Spring Apps 微服务应用程序

部署到 Azure
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。

ARM 模板资源定义

可以使用目标操作部署 Spring/apps/deployments 资源类型:

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

资源格式

若要创建 Microsoft.AppPlatform/Spring/apps/deployments 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2023-07-01-preview",
  "name": "string",
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {}
      },
      "apms": [
        {
          "resourceId": "string"
        }
      ],
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "livenessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "readinessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      },
      "scale": {
        "maxReplicas": "int",
        "minReplicas": "int",
        "rules": [
          {
            "azureQueue": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            }
          }
        ]
      },
      "startupProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "terminationGracePeriodSeconds": "int"
    },
    "source": {
      "version": "string",
      "type": "string"
      // For remaining properties, see UserSourceInfo objects
    }
  }
}

ProbeAction 对象

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

对于 ExecAction,请使用:

  "type": "ExecAction",
  "command": [ "string" ]

对于 HTTPGetAction,请使用:

  "type": "HTTPGetAction",
  "path": "string",
  "scheme": "string"

对于 TCPSocketAction,请使用:

  "type": "TCPSocketAction"

UserSourceInfo 对象

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

对于 BuildResult,请使用:

  "type": "BuildResult",
  "buildResultId": "string"

对于 容器,请使用:

  "type": "Container",
  "customContainer": {
    "args": [ "string" ],
    "command": [ "string" ],
    "containerImage": "string",
    "imageRegistryCredential": {
      "password": "string",
      "username": "string"
    },
    "languageFramework": "string",
    "server": "string"
  }

对于 Jar,请使用:

  "type": "Jar",
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

对于 NetCoreZip,请使用:

  "type": "NetCoreZip",
  "netCoreMainEntryPath": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

对于 ,请使用:

  "type": "Source",
  "artifactSelector": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

属性值

Spring/apps/deployments

名字 描述 价值
类型 资源类型 “Microsoft.AppPlatform/Spring/apps/deployments”
apiVersion 资源 API 版本 '2023-07-01-preview'
名字 资源名称

了解如何在 JSON ARM 模板中设置子资源的名称和类型。
string (必需)
sku 部署资源的 SKU Sku
性能 部署资源的属性 DeploymentResourceProperties

DeploymentResourceProperties

名字 描述 价值
积极 指示部署是否处于活动状态 bool
deploymentSettings 部署的部署设置 DeploymentSettings
已上传部署的源信息。 UserSourceInfo

DeploymentSettings

名字 描述 价值
addonConfigs 加载项集合 DeploymentSettingsAddonConfigs
apms ApmReferences 的集合 ApmReference[]
containerProbeSettings 容器生存度和就绪情况探测设置 ContainerProbeSettings
environmentVariables 环境变量集合 DeploymentSettingsEnvironmentVariables
livenessProbe 定期探测应用实例的运行情况。 如果探测失败,应用实例将重新启动。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
readinessProbe 定期探测应用实例服务就绪情况。 如果探测失败,将从服务终结点中删除应用实例。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
resourceRequests 所需的 CPU 和内存的请求资源数量。 建议使用此字段来表示所需的 CPU 和内存,稍后将弃用旧字段 CPU 和 memoryInGB。 ResourceRequests
规模 缩放 Azure Spring Apps 应用实例的属性。 缩放
startupProbe StartupProbe 指示应用实例已成功初始化。 如果指定,则不会执行其他探测,直到成功完成。 如果此探测失败,Pod 将重新启动,就像 livenessProbe 失败一样。 这可用于在应用实例生命周期开始时提供不同的探测参数,这可能需要很长时间才能加载数据或预热缓存,而不是在稳定状态操作期间。 这无法更新。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
terminationGracePeriodSeconds 应用实例需要正常终止的可选持续时间(以秒为单位)。 删除请求可能会减少。 值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 如果此值为 nil,则会改用默认宽限期。 宽限期是在应用实例中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间之后的持续时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 默认值为 90 秒。 int

DeploymentSettingsAddonConfigs

名字 描述 价值
{自定义属性}

ApmReference

名字 描述 价值
resourceId APM 的资源 ID string (必需)

ContainerProbeSettings

名字 描述 价值
disableProbe 指示是否禁用实时性和就绪情况探测 bool

DeploymentSettingsEnvironmentVariables

名字 描述 价值
{自定义属性} 字符串

探针

名字 描述 价值
disableProbe 指示探测是否已禁用。 bool (必需)
failureThreshold 探测在成功后被视为失败的最小连续失败。 最小值为 1。 int
initialDelaySeconds 在启动探测之前启动应用实例后的秒数。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds 执行探测的频率(以秒为单位)。 最小值为 1。 int
probeAction 探测的操作。 ProbeAction
successThreshold 探测在失败后被视为成功的最小连续成功次数。 对于实时性和启动,必须为 1。 最小值为 1。 int
timeoutSeconds 探测超时的秒数。最小值为 1。 int

ProbeAction

名字 描述 价值
类型 设置对象类型 ExecAction
HTTPGetAction
TCPSocketAction (必需)

ExecAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “ExecAction”(必需)
命令 命令是在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录('/')。 该命令不在 shell 中运行,因此传统的 shell 指令('、'等)将不起作用。 若要使用 shell,需要显式调用该 shell。 退出状态为 0 被视为实时/正常,非零状态不正常。 string[]

HttpGetAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “HTTPGetAction”(必需)
路径 在 HTTP 服务器上访问的路径。 字符串
方案 用于连接到主机的方案。 默认为 HTTP。

可能的枚举值:
- "HTTP" 意味着所使用的方案将 http://
- "HTTPS" 意味着所使用的方案将 https://
“HTTP”
“HTTPS”

TCPSocketAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “TCPSocketAction”(必需)

ResourceRequests

名字 描述 价值
中央处理器 所需的 CPU。 1 核可以表示 1 或 1000 米。 对于基本层,这应为 500 米或 1,标准层应为 {500m、1、2、3、 4} 。 字符串
记忆 所需的内存。 1 GB 可以由 1Gi 或 1024Mi 表示。 对于基本层,这应该是 {512Mi、1Gi、2Gi} 和标准层的 {512Mi、1Gi、2Gi、...、8Gi}。 字符串

规模

名字 描述 价值
maxReplicas 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 int
minReplicas 自选。 容器副本的最小数量。 int
规则 缩放规则。 ScaleRule[]

ScaleRule

名字 描述 价值
azureQueue 基于 Azure 队列的缩放。 QueueScaleRule
习惯 自定义缩放规则。 CustomScaleRule
http 基于 HTTP 请求的缩放。 HttpScaleRule
名字 缩放规则名称 字符串
tcp 基于 Tcp 请求的缩放。 TcpScaleRule

QueueScaleRule

名字 描述 价值
认证 队列缩放规则的身份验证机密。 ScaleRuleAuth[]
queueLength 队列长度。 int
queueName 队列名称。 字符串

ScaleRuleAuth

名字 描述 价值
secretRef 要从中拉取身份验证参数的 Azure Spring Apps 应用实例机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

CustomScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述自定义缩放规则的元数据属性。 CustomScaleRuleMetadata
类型 自定义缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

CustomScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

HttpScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 描述 http 缩放规则的元数据属性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

TcpScaleRule

名字 描述 价值
认证 tcp 缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述 tcp 缩放规则的元数据属性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

UserSourceInfo

名字 描述 价值
版本 源的版本 字符串
类型 设置对象类型 BuildResult
容器
Jar
NetCoreZip
(必需)

BuildResultUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “BuildResult”(必需)
buildResultId 同一 Spring 实例下现有成功生成结果的资源 ID。 字符串

CustomContainerUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Container”(必需)
customContainer 自定义容器有效负载 CustomContainer

CustomContainer

名字 描述 价值
args 入口点的参数。 如果未提供 docker 映像的 CMD,则使用此 CMD。 string[]
命令 入口点数组。 未在 shell 中执行。 如果未提供 Docker 映像的 ENTRYPOINT,则使用此条目。 string[]
containerImage 自定义容器的容器映像。 这应采用 {repository}:{tag} 的形式,没有注册表的服务器名称 字符串
imageRegistryCredential 映像注册表的凭据 ImageRegistryCredential
languageFramework 上传的容器映像的语言框架。 支持的值:“springboot”、“”、null。 字符串
服务器 包含容器映像的注册表的名称 字符串

ImageRegistryCredential

名字 描述 价值
密码 映像注册表凭据的密码 字符串
username 映像注册表凭据的用户名 字符串

JarUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Jar”(必需)
jvmOptions JVM 参数 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion Jar 文件的运行时版本 字符串

NetCoreZipUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “NetCoreZip”(必需)
netCoreMainEntryPath 相对于 zip 根目录的 .NET 可执行文件的路径 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion .Net 文件的运行时版本 字符串

SourceUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Source”(必需)
artifactSelector 要用于多模块项目的部署的项目的选择器。 这应该是
目标模块/项目的相对路径。
字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion 源文件的运行时版本 字符串

Sku

名字 描述 价值
能力 目标资源的当前容量 int
名字 Sku 的名称 字符串
Sku 的层 字符串

快速入门模板

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

模板 描述
部署简单的 Azure Spring Apps 微服务应用程序

部署到 Azure
此模板部署一个简单的 Azure Spring Apps 微服务应用程序,以在 Azure 上运行。

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

可以使用目标操作部署 Spring/apps/deployments 资源类型:

  • 资源组

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

资源格式

若要创建 Microsoft.AppPlatform/Spring/apps/deployments 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-07-01-preview"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {}
        apms = [
          {
            resourceId = "string"
          }
        ]
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        livenessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        readinessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
        scale = {
          maxReplicas = int
          minReplicas = int
          rules = [
            {
              azureQueue = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
            }
          ]
        }
        startupProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        terminationGracePeriodSeconds = int
      }
      source = {
        version = "string"
        type = "string"
        // For remaining properties, see UserSourceInfo objects
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  })
}

ProbeAction 对象

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

对于 ExecAction,请使用:

  type = "ExecAction"
  command = [
    "string"
  ]

对于 HTTPGetAction,请使用:

  type = "HTTPGetAction"
  path = "string"
  scheme = "string"

对于 TCPSocketAction,请使用:

  type = "TCPSocketAction"

UserSourceInfo 对象

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

对于 BuildResult,请使用:

  type = "BuildResult"
  buildResultId = "string"

对于 容器,请使用:

  type = "Container"
  customContainer = {
    args = [
      "string"
    ]
    command = [
      "string"
    ]
    containerImage = "string"
    imageRegistryCredential = {
      password = "string"
      username = "string"
    }
    languageFramework = "string"
    server = "string"
  }

对于 Jar,请使用:

  type = "Jar"
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"

对于 NetCoreZip,请使用:

  type = "NetCoreZip"
  netCoreMainEntryPath = "string"
  relativePath = "string"
  runtimeVersion = "string"

对于 ,请使用:

  type = "Source"
  artifactSelector = "string"
  relativePath = "string"
  runtimeVersion = "string"

属性值

Spring/apps/deployments

名字 描述 价值
类型 资源类型 “Microsoft.AppPlatform/Spring/apps/deployments@2023-07-01-preview”
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:应用
sku 部署资源的 SKU Sku
性能 部署资源的属性 DeploymentResourceProperties

DeploymentResourceProperties

名字 描述 价值
积极 指示部署是否处于活动状态 bool
deploymentSettings 部署的部署设置 DeploymentSettings
已上传部署的源信息。 UserSourceInfo

DeploymentSettings

名字 描述 价值
addonConfigs 加载项集合 DeploymentSettingsAddonConfigs
apms ApmReferences 的集合 ApmReference[]
containerProbeSettings 容器生存度和就绪情况探测设置 ContainerProbeSettings
environmentVariables 环境变量集合 DeploymentSettingsEnvironmentVariables
livenessProbe 定期探测应用实例的运行情况。 如果探测失败,应用实例将重新启动。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
readinessProbe 定期探测应用实例服务就绪情况。 如果探测失败,将从服务终结点中删除应用实例。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
resourceRequests 所需的 CPU 和内存的请求资源数量。 建议使用此字段来表示所需的 CPU 和内存,稍后将弃用旧字段 CPU 和 memoryInGB。 ResourceRequests
规模 缩放 Azure Spring Apps 应用实例的属性。 缩放
startupProbe StartupProbe 指示应用实例已成功初始化。 如果指定,则不会执行其他探测,直到成功完成。 如果此探测失败,Pod 将重新启动,就像 livenessProbe 失败一样。 这可用于在应用实例生命周期开始时提供不同的探测参数,这可能需要很长时间才能加载数据或预热缓存,而不是在稳定状态操作期间。 这无法更新。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 探测
terminationGracePeriodSeconds 应用实例需要正常终止的可选持续时间(以秒为单位)。 删除请求可能会减少。 值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 如果此值为 nil,则会改用默认宽限期。 宽限期是在应用实例中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间之后的持续时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 默认值为 90 秒。 int

DeploymentSettingsAddonConfigs

名字 描述 价值
{自定义属性}

ApmReference

名字 描述 价值
resourceId APM 的资源 ID string (必需)

ContainerProbeSettings

名字 描述 价值
disableProbe 指示是否禁用实时性和就绪情况探测 bool

DeploymentSettingsEnvironmentVariables

名字 描述 价值
{自定义属性} 字符串

探针

名字 描述 价值
disableProbe 指示探测是否已禁用。 bool (必需)
failureThreshold 探测在成功后被视为失败的最小连续失败。 最小值为 1。 int
initialDelaySeconds 在启动探测之前启动应用实例后的秒数。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds 执行探测的频率(以秒为单位)。 最小值为 1。 int
probeAction 探测的操作。 ProbeAction
successThreshold 探测在失败后被视为成功的最小连续成功次数。 对于实时性和启动,必须为 1。 最小值为 1。 int
timeoutSeconds 探测超时的秒数。最小值为 1。 int

ProbeAction

名字 描述 价值
类型 设置对象类型 ExecAction
HTTPGetAction
TCPSocketAction (必需)

ExecAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “ExecAction”(必需)
命令 命令是在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录('/')。 该命令不在 shell 中运行,因此传统的 shell 指令('、'等)将不起作用。 若要使用 shell,需要显式调用该 shell。 退出状态为 0 被视为实时/正常,非零状态不正常。 string[]

HttpGetAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “HTTPGetAction”(必需)
路径 在 HTTP 服务器上访问的路径。 字符串
方案 用于连接到主机的方案。 默认为 HTTP。

可能的枚举值:
- "HTTP" 意味着所使用的方案将 http://
- "HTTPS" 意味着所使用的方案将 https://
“HTTP”
“HTTPS”

TCPSocketAction

名字 描述 价值
类型 要执行运行状况检查的操作的类型。 “TCPSocketAction”(必需)

ResourceRequests

名字 描述 价值
中央处理器 所需的 CPU。 1 核可以表示 1 或 1000 米。 对于基本层,这应为 500 米或 1,标准层应为 {500m、1、2、3、 4} 。 字符串
记忆 所需的内存。 1 GB 可以由 1Gi 或 1024Mi 表示。 对于基本层,这应该是 {512Mi、1Gi、2Gi} 和标准层的 {512Mi、1Gi、2Gi、...、8Gi}。 字符串

规模

名字 描述 价值
maxReplicas 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 int
minReplicas 自选。 容器副本的最小数量。 int
规则 缩放规则。 ScaleRule[]

ScaleRule

名字 描述 价值
azureQueue 基于 Azure 队列的缩放。 QueueScaleRule
习惯 自定义缩放规则。 CustomScaleRule
http 基于 HTTP 请求的缩放。 HttpScaleRule
名字 缩放规则名称 字符串
tcp 基于 Tcp 请求的缩放。 TcpScaleRule

QueueScaleRule

名字 描述 价值
认证 队列缩放规则的身份验证机密。 ScaleRuleAuth[]
queueLength 队列长度。 int
queueName 队列名称。 字符串

ScaleRuleAuth

名字 描述 价值
secretRef 要从中拉取身份验证参数的 Azure Spring Apps 应用实例机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

CustomScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述自定义缩放规则的元数据属性。 CustomScaleRuleMetadata
类型 自定义缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

CustomScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

HttpScaleRule

名字 描述 价值
认证 自定义缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 描述 http 缩放规则的元数据属性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

TcpScaleRule

名字 描述 价值
认证 tcp 缩放规则的身份验证机密。 ScaleRuleAuth[]
元数据 用于描述 tcp 缩放规则的元数据属性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 价值
{自定义属性} 字符串

UserSourceInfo

名字 描述 价值
版本 源的版本 字符串
类型 设置对象类型 BuildResult
容器
Jar
NetCoreZip
(必需)

BuildResultUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “BuildResult”(必需)
buildResultId 同一 Spring 实例下现有成功生成结果的资源 ID。 字符串

CustomContainerUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “容器”(必需)
customContainer 自定义容器有效负载 CustomContainer

CustomContainer

名字 描述 价值
args 入口点的参数。 如果未提供 docker 映像的 CMD,则使用此 CMD。 string[]
命令 入口点数组。 未在 shell 中执行。 如果未提供 Docker 映像的 ENTRYPOINT,则使用此条目。 string[]
containerImage 自定义容器的容器映像。 这应采用 {repository}:{tag} 的形式,没有注册表的服务器名称 字符串
imageRegistryCredential 映像注册表的凭据 ImageRegistryCredential
languageFramework 上传的容器映像的语言框架。 支持的值:“springboot”、“”、null。 字符串
服务器 包含容器映像的注册表的名称 字符串

ImageRegistryCredential

名字 描述 价值
密码 映像注册表凭据的密码 字符串
username 映像注册表凭据的用户名 字符串

JarUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “Jar”(必需)
jvmOptions JVM 参数 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion Jar 文件的运行时版本 字符串

NetCoreZipUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “NetCoreZip”(必需)
netCoreMainEntryPath 相对于 zip 根目录的 .NET 可执行文件的路径 字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion .Net 文件的运行时版本 字符串

SourceUploadedUserSourceInfo

名字 描述 价值
类型 上传的源的类型 “源”(必需)
artifactSelector 要用于多模块项目的部署的项目的选择器。 这应该是
目标模块/项目的相对路径。
字符串
relativePath 存储源的存储的相对路径 字符串
runtimeVersion 源文件的运行时版本 字符串

Sku

名字 描述 价值
能力 目标资源的当前容量 int
名字 Sku 的名称 字符串
Sku 的层 字符串