1. 接口描述
接口请求域名: tem.tencentcloudapi.com 。
应用部署
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:DeployApplication。 |
Version | 是 | String | 公共参数,本接口取值:2021-07-01。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
ApplicationId | 是 | String | 应用ID 示例值:app-xxxxxx |
InitPodNum | 是 | Integer | 初始化 pod 数 示例值:1 |
CpuSpec | 是 | Float | cpu规格 单位:核 示例值:1 |
MemorySpec | 是 | Float | 内存规格 单位:G 示例值:2 |
EnvironmentId | 是 | String | 环境ID 示例值:en-xxxxxx |
DeployVersion | 是 | String | 部署类型为 IMAGE 时,该参数表示镜像 tag。 部署类型为 JAR/WAR 时,该参数表示包版本号。 示例值:v1 |
ImgRepo | 否 | String | 镜像仓库 示例值:1 |
VersionDesc | 否 | String | 版本描述信息 示例值:version-desc |
JvmOpts | 否 | String | 启动参数 示例值:-Xms128m -XX:MetaspaceSize=128m |
EsInfo | 否 | EsInfo | 弹性伸缩配置(已废弃,请使用HorizontalAutoscaler设置弹性策略) 示例值:1 |
EnvConf.N | 否 | Array of Pair | 环境变量配置 示例值:1 |
LogConfs.N | 否 | Array of String | 日志配置 示例值:1 |
StorageConfs.N | 否 | Array of StorageConf | 数据卷配置 示例值:1 |
StorageMountConfs.N | 否 | Array of StorageMountConf | 数据卷挂载配置 示例值:1 |
DeployMode | 否 | String | 部署类型。 - JAR:通过 jar 包部署 - WAR:通过 war 包部署 - IMAGE:通过镜像部署 示例值:JAR |
PkgName | 否 | String | 传入内容为 /jar包名字 的形式。也就是在 jar包名字前增加一个/。 如上传的 jar 包名字为 demo-1.0.0.jar,那么这里传入内容为:/demo-1.0.0.jar 注:jar 包需要通过 tem 页面上传过,tem 后端才能拉到该 jar 包。 示例值:/demo-1.0.0.jar |
JdkVersion | 否 | String | JDK 版本。 - KONA:8:使用 kona jdk 8。 - OPEN:8:使用 open jdk 8。 - KONA:11:使用 kona jdk 11。 - OPEN:11:使用 open jdk 11。 示例值:KONA:8 |
SecurityGroupIds.N | 否 | Array of String | 安全组ID s 示例值:1 |
LogOutputConf | 否 | LogOutputConf | 日志输出配置 示例值:1 |
SourceChannel | 否 | Integer | 来源渠道 示例值:0 |
Description | 否 | String | 版本描述 示例值:1 |
ImageCommand | 否 | String | 镜像命令 示例值:cd |
ImageArgs.N | 否 | Array of String | 镜像命令参数 示例值:/home |
UseRegistryDefaultConfig | 否 | Boolean | 是否添加默认注册中心配置 示例值:true |
SettingConfs.N | 否 | Array of MountedSettingConf | 挂载配置信息 示例值:[{"ConfigDataName":"cfg-test-1","MountedPath":"/data","SecretDataName":""}] |
Service | 否 | EksService | 应用访问设置 示例值:1 |
VersionId | 否 | String | 要回滚到的历史版本id 示例值:version-123 |
PostStart | 否 | String | 启动后执行的脚本 示例值:1 |
PreStop | 否 | String | 停止前执行的脚本 示例值:1 |
Liveness | 否 | HealthCheckConfig | 存活探针配置 示例值:1 |
Readiness | 否 | HealthCheckConfig | 就绪探针配置 示例值:1 |
DeployStrategyConf | 否 | DeployStrategyConf | 分批发布策略配置 示例值:1 |
HorizontalAutoscaler.N | 否 | Array of HorizontalAutoscaler | 弹性策略(已弃用,请使用弹性伸缩策略组合相关接口) 示例值:1 |
CronHorizontalAutoscaler.N | 否 | Array of CronHorizontalAutoscaler | 定时弹性策略(已弃用,请使用弹性伸缩策略组合相关接口) 示例值:1 |
LogEnable | 否 | Integer | 是否启用log,1为启用,0为不启用 示例值:1 |
ConfEdited | 否 | Boolean | (除开镜像配置)配置是否修改 示例值:true |
SpeedUp | 否 | Boolean | 是否开启应用加速 示例值:true |
StartupProbe | 否 | HealthCheckConfig | 启动探针配置 示例值:1 |
OsFlavour | 否 | String | 操作系统版本; 当选择openjdk时,可选参数: - ALPINE - CENTOS 当选择konajdk时,可选参数: - ALPINE - TENCENTOS 示例值:1 |
EnablePrometheusConf | 否 | EnablePrometheusConf | metrics业务指标监控配置 示例值:{"Port":9090,"Path:"/data"} |
EnableTracing | 否 | Integer | 1:开始自动apm采集(skywalking); 0:关闭apm采集; 示例值:0 |
EnableMetrics | 否 | Integer | 1:开始自动metrics采集(open-telemetry); 0:关闭metrics采集; 示例值:0 |
TcrInstanceId | 否 | String | 镜像部署时,选择的tcr实例id 示例值:tcr-123 |
RepoServer | 否 | String | 镜像部署时,选择的镜像服务器地址 示例值:ccr.ccs.tencentcryun.com |
RepoType | 否 | Integer | 镜像部署时,仓库类型:0:个人仓库;1:企业版;2:公共仓库;3:tem托管仓库;4:demo仓库 示例值:0 |
PostStartEncoded | 否 | String | 启动后执行的脚本,base64 编码 示例值:post-start-encoded-xxx |
PreStopEncoded | 否 | String | 停止前执行的脚本,base64 编码 示例值:pre-stop-encoded-xxx |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Result | String | 版本ID(前端可忽略) 示例值:revision-xxxxxx |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 应用部署
应用部署
输入示例
POST / HTTP/1.1
Host: tem.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DeployApplication
<公共请求参数>
{
"ApplicationId": "app-5vaz8x85",
"ConfEdited": false,
"DeployMode": "JAR",
"JdkVersion": "KONA:11",
"PkgName": "tem/pkg/130xxxx/app-5vaz8x85/1733xxxx/K8sDemo-1.0.jar",
"SpeedUp": true,
"OsFlavour": "ALPINE",
"DeployVersion": "20241202165113",
"JvmOpts": "-Xms128m -XX:MetaspaceSize=128m",
"InitPodNum": 3,
"CpuSpec": 1,
"MemorySpec": 2,
"EnvConf": [
{
"Key": "key",
"Value": "val",
"Type": "default",
"Config": "",
"Secret": ""
}
],
"LogEnable": 0,
"StorageConfs": [],
"StorageMountConfs": [],
"SecurityGroupIds": [
"sg-1zwhplpi"
],
"EnvironmentId": "en-dpxydze5",
"Service": {
"ServicePortMappingList": [
{
"Type": "CLUSTER",
"ServiceName": "k8s-svc-test",
"ClusterIp": "172.16.56.122",
"ExternalIp": "10.xx.xx.xx",
"ExternalDomain": "ext.domain.com",
"SubnetId": "subnet-xxx",
"VpcId": "vpc-oxyzq5xx",
"LoadBalanceId": "10.xx.xx.xx",
"Yaml": "apiVersion: xxxxx",
"Ports": [
8080
],
"PortMappingItemList": [
{
"Port": 8080,
"TargetPort": 8080,
"Protocol": "TCP"
}
]
}
],
"EnableRegistryNextDeploy": 0,
"FlushAll": true
},
"UseRegistryDefaultConfig": false,
"EnableTracing": 0,
"SettingConfs": [
{
"ConfigDataName": "cfg-test-1",
"MountedPath": "/data",
"SecretDataName": "secret-name"
}
],
"DeployStrategyConf": {
"TotalBatchCount": 1,
"BetaBatchNum": 0,
"DeployStrategyType": 3,
"MinAvailable": 1,
"Force": true,
"BatchInterval": 0
},
"PostStart": "/bin/sh\n-c\ncurl localhost:8080/postStart",
"PreStop": "/bin/sh\n-c\nwget --server-response --spider -S --no-verbose --header=\"Content-Type:application/json\" --post-data='{\"serverName\":\"api-basic\"}' \"http://localhost:9900/actuator/stopmsg\"\nsleep 30s"
}
输出示例
{
"Response": {
"RequestId": "81f74023-563c-437d-abf7-8139449ef178",
"Result": "revision-xxxxxx"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.ActionReadTimeout | 请求响应超时。 |
FailedOperation.CreateServiceError | 创建服务失败。 |
FailedOperation.DefaultInternalError | 服务器繁忙,请稍后再试。 |
FailedOperation.DescribeServiceListError | 查询service列表失败。 |
InternalError.ActionReadTimeout | 请求响应超时。 |
InternalError.CreateApmResourceError | 创建apm资源失败。 |
InternalError.CreateServiceError | 创建服务失败。 |
InternalError.DefaultInternalError | 服务器繁忙,请稍后再试。 |
InternalError.DeployVersionError | 版本部署调用失败。 |
InvalidParameterValue.ApmNotBind | APM 没有与当前环境绑定。 |
InvalidParameterValue.AutoScalerLargerThanOne | 只支持绑定一种弹性伸缩。 |
InvalidParameterValue.CannotOverWriteOtherApplicationService | 不能覆盖其他应用的访问方式。 |
InvalidParameterValue.InvalidDeployVersion | 版本号格式非法。 |
InvalidParameterValue.InvalidEnvName | 环境变量名非法,要求有由字母、数字,".","_" 和 "-" 组成,不能由数字开头。 |
InvalidParameterValue.InvalidEnvValue | 环境变量长度不能超过1000。 |
InvalidParameterValue.InvalidMountPath | 挂载路径不合法,不能为 /app。 |
InvalidParameterValue.InvalidTenantInfo | 无法识别租户信息。 |
InvalidParameterValue.JdkVersionRequired | JDK 版本不能为空。 |
InvalidParameterValue.MustProvidePortMappingRules | 必须提供PortMapping规则。 |
InvalidParameterValue.NamespaceNotBelongToAppid | 命名空间不属于用户。 |
InvalidParameterValue.OsNotSupport | 操作系统不支持。 |
InvalidParameterValue.PostStartNotValid | post start 不合法。 |
InvalidParameterValue.PreStopNotValid | pre stop 不合法。 |
InvalidParameterValue.RegistryNotBind | 注册中心没有与当前环境绑定。 |
InvalidParameterValue.ServiceNameDuplicateError | 应用名已存在。 |
InvalidParameterValue.ServiceNotBelongToAppid | 应用不属于此账户。 |
InvalidParameterValue.ServicePodReachMaximum | 实例创建失败,达到上限。 |
InvalidParameterValue.ServiceUseReserveSuffix | 服务名使用了保留后缀。 |
InvalidParameterValue.TemIdInvalid | 不是合法的TEM ID。 |
InvalidParameterValue.TraitsTracingNotSupported | 非 JAVA 应用不支持链路追踪特性。 |
InvalidParameterValue.VersionLengthLimit | version 不能超过128位。 |
InvalidParameterValue.VersionLowerCase | 版本必须小写。 |
MissingParameter.DeployModeNull | 部署方式不能为空。 |
MissingParameter.DeployVersionNull | 部署版本不能为空。 |
MissingParameter.ImgRepoNull | 镜像仓库不能为空。 |
MissingParameter.LogsetOrTopicNull | logset 和 topic 不能为空。 |
MissingParameter.PkgNameNull | 包名不能为空。 |
MissingParameter.RepoServerNull | 镜像仓库服务器不能为空。 |
MissingParameter.ServiceIdNull | 服务ID不能为空。 |
MissingParameter.SvcRepoNotReady | 镜像仓库还未就绪。 |
MissingParameter.VpcServiceSubnetNull | vpc内访问类型子网ID不能为空。 |
ResourceInUse.ServiceDeploying | 服务部署中。 |
ResourceNotFound.MicroserviceOffline | 目标微服务已离线。 |
ResourceNotFound.ServiceNotFound | 找不到应用。 |
ResourceNotFound.VersionNamespaceNotFound | 找不到版本对应的环境。 |
ResourceUnavailable.WaitForKruise | 等待组件安装。 |
UnauthorizedOperation.MissingEksLogRole | 缺少容器服务的 CLS 日志角色,请打开控制台授权。 |
UnauthorizedOperation.UnauthorizedOperation | 未授权。 |