RollbackApplication - 回退应用历史版本

调用RollbackApplication接口回退应用历史版本。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
sae:RollbackApplicationupdate
  • 全部资源
    *

请求语法

PUT /pop/v1/sam/app/rollbackApplication HTTP/1.1

请求参数

名称类型必填描述示例值
AppIdstring

应用 ID。

017f39b8-dfa4-4e16-a84b-1dcee4b1****
VersionIdstring

版本 ID,需要调用 ListAppVersions 接口查看。

0026ff7f-2b57-4127-bdd0-9bf202bb9****
BatchWaitTimeinteger

分批等待时间,单位为秒。

10
MinReadyInstancesinteger

最小存活实例数。取值说明如下:

  • 如果设置为 0,应用在升级过程中将会中断业务。
  • 如果设置为**-1**,最小存活实例数将使用系统推荐值,即取现有实例数的 25%。如果当前为 5 个实例,5×25%=1.25,向上取整后,最小存活实例数为 2。
说明 每次滚动部署最小存活的实例数建议≥1,保证业务不中断。
1
MinReadyInstanceRatiointeger

最小存活实例数百分比。取值说明如下:

  • -1:初始化值,表示不采用百分比。
  • 0~100:单位为百分比,向上取整。例如设置为 50%,如果当前为 5 个实例,则最小存活实例数为 3。
说明 MinReadyInstanceMinReadyInstanceRatio 同时传递时,且 MinReadyInstanceRatio 的取值非**-1**时,以 MinReadyInstanceRatio 参数为准。假设 MinReadyInstances 取值为 5MinReadyInstanceRatio 取值为 50,则会用 50 来计算最小存活实例数。
-1
UpdateStrategystring

部署策略。当最小存活实例数等于 1 时,UpdateStrategy 字段的值为""。当最小存活实例数大于 1 时,示例如下:

  • 灰度 1 台+后续分 2 批+自动分批+分批间隔 1 分钟。

    {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • 灰度 1 台+后续分 2 批+手动分批。

    {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • 分 2 批+自动分批+分批间隔 0 分钟。

    {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

参数说明如下:

  • type:发布策略类型,可选灰度发布 GrayBatchUpdate 或分批发布 BatchUpdate
  • batchUpdate:分批发布策略。
    • batch:发布批次。
    • releaseType:分批间处理方式,可选自动 auto 或手动 manual
    • batchWaitTime:批次内部署间隔时间,单位为秒。
  • grayUpdate:灰度后剩余批次,当 typeGrayBatchUpdate 时必填。
{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
AutoEnableApplicationScalingRulestring

是否自动启用应用弹性伸缩策略。取值说明如下:

  • true:开启。
  • false:关闭。
true

返回参数

名称类型描述示例值
object

返回数据

RequestIdstring

请求 ID。

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****
Messagestring

调用结果的附加信息。

success
TraceIdstring

调用链 ID,用于精确查询调用信息。

0a98a02315955564772843261e****
Dataobject

返回结果。

ChangeOrderIdstring

变更流程 ID。

01db03d3-3ee9-48b3-b3d0-dfce2d88****
IsNeedApprovalboolean

RAM 用户发布变更是否需要审批。取值说明如下:

  • true:需审批。
  • false:无需审批。
true
ErrorCodestring

错误码。取值说明如下:

  • 请求成功:不返回 ErrorCode 字段。
  • 请求失败:返回 ErrorCode 字段。具体信息,请参见本文的错误码列表。
Codestring

接口状态或 POP 错误码。取值说明如下:

  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:请求错误。
  • 5xx:服务器错误。
200
Successboolean

回退历史版本是否成功。取值说明如下:

  • true:回退成功。
  • false:回退失败。
true

示例

正常返回示例

JSON格式

{
  "RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
  "Message": "success",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
    "IsNeedApproval": true
  },
  "ErrorCode": "空",
  "Code": "200",
  "Success": true
}

错误码

HTTP status code错误码错误信息描述
400InvalidApplication.NotFoundThe current application does not exist.找不到当前应用。
400InvalidParameter.NotEmptyYou must specify the parameter %s.不合法的参数:%s不能为空。
400InvalidParameter.ObviouslyThe specified parameter is invalid {%s}.不合法的参数{%s}。
400InvalidParameter.WithMessageThe parameter is invalid {%s}: %s不合法的参数{%s}:%s。
400NoComputeResourceQuota.ExceedYour compute resource is insufficient. Please contact us to raise the quota.-
400user.indebtThe user has an outstanding payment.当前用户处于欠费状态。
400NoComputeResourceQuota.App.ExceedYou can create %s instances for each application. Please submit a ticket to raise the quota.每个应用只允许创建%s个实例,请加入钉群32874633联系技术产品专家进行咨询。
400NoComputeResourceQuota.User.ExceedYour account is limited to create %s instances. Please submit a ticket to raise the quota.您的账户限额%s个实例,请加入钉群32874633联系技术产品专家进行咨询。
400System.UpgradingThe system is being upgraded. Please try again later.系统正在升级,请稍后操作。
400Application.ChangerOrderRunningAn application change process is in progress. Please try again later.应用有变更流程正在执行,请稍后重试。
400Application.InvalidStatusThe application status is abnormal. Please try again later.应用状态异常,请稍后重试。
400Application.NotDeployYetThe application has not been deployed. Please deploy it and try again.应用没有部署,请部署后重试。
400rollback.errorFailed to roll back.回滚异常。
400Application.MissingJdkYour application must at least contain a JDK component.应用必须至少包含JDK组件。
400JarApplication.MissingJdkA FatJar application must contain JDK.FatJar类型应用必须包含JDK。
400PandoraApplication.MissingJdkThe Pandora application is missing a JDK component.Pandora应用缺少JDK组件。
400WarApplication.MissingJdkWebcontainerA War application must contain JDK and Tomcat.WAR类型应用必须包含JDK和Tomcat。
400InvalidComponent.NotFoundThe current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.找不到当前组件(JDK、Tomcat、EDASWebContainer等)。
400InvalidHostnameIp.InvalidThe hostname and/or IP is invalid: Hostname [%s], IP [%s].主机名或IP不合法:主机名[%s],IP[%s]。
400InvalidInstanceSpecification.UnsupportedThe instance specification is not supported: CPU [%s], memory [%s].不支持的实例规格。CPU[%s],Memory[%s]。
400InvalidPackageType.NotFoundThe package type must be War, FatJar, or Image.包类型必须为WAR、FatJAR或Image。
400LogService.ConfigQuotaExceedThe maximum number of Log Service configs is exceeded.日志服务配置个数超过配额限制,请加入钉群32874633联系技术产品专家进行咨询。
400LogService.InternalErrorAn exception occurred while calling Log Service. Please submit a ticket to solve the problem.调用日志服务异常,请加入钉群32874633联系技术产品专家进行咨询。
400LogService.LogDirInvalidThe log collection path is invalid.日志采集路径不合法。
400LogService.NotAvailableLog Service is unavailable. Please activate Log Service first.日志服务不可用,请先开通日志服务。
400LogService.ProjectNumQuotaExceedThe maximum number of Log Service projects is exceeded.日志服务项目个数超过配额限制,请加入钉群32874633联系技术产品专家进行咨询。
400VolumnPath.ConflictConflict between log collection directory and persistent storage directory.日志采集目录与持久化存储目录冲突。
400MountConflict.ConfigMapConflict detected for ConfigMap path %s.ConfigMap挂载路径%s存在冲突。
400NotFound.ConfigMapThe ConfigMap object (ID: %s) does not exist.找不到ConfigMap对象(ID=%s)。
400NotFound.ConfigMapKeyThe key %s of ConfigMap object (ID: %s) does not exist.找不到ConfigMap对象(ID=%s)的Key %s。
400MinReadyInstances.Not.Smaller.ReplicasThe minimum number of available instances must be less than the number of application instances.最小可用实例数必须小于应用实例数。
400MinReadyInstanceRatio.InvalidThe ratio of minimum available instances must be between 0 and 100.最小存活实例数比例值必须在0~100之间。
400Package.Version.Too.LongThe maximum length of package version is exceeded.应用部署包版本号长度超过限制。
400App.Package.Version.ExistsThe package version of application already exists.应用部署包版本号已经存在。
400Slb.OccupiedThe SLB instance is occupied.SLB实例被占用。
400Slb.Tag.Not.QualifiedThe current SLB instance cannot be reused because it may have been occupied by %s.SLB实例正在被%s使用,不建议复用。
400InvalidParameter.FileNameThe application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.应用部署程序包名称无效。名称只能包含字母、数字和特殊字符“-”“_”。Java 软件包部署,仅当选择的部署版本支持JAR部署时方可上传JAR包,否则只能上传WAR包;PHP 软件包部署,仅当选择的部署版本支持ZIP部署时方可上传ZIP包
400vswitch.not.existThe specified vSwitch does not exist.vSwitch不存在,请更换vSwitch。
404InvalidNamespaceId.NotFoundThe specified NamespaceId does not exist.指定的NamespaceId不存在。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2022-02-21OpenAPI 错误码发生变更查看变更详情