调用CreateCloudBenchTasks接口创建压测任务。
接口说明
数据库自治服务DAS提供智能压测功能,帮助您验证您的实例规格是否需要扩容,有效应对业务流量高峰。更多信息,请参见智能压测。数据库需满足如下前提条件:
- 源数据库仅支持RDS MySQL高可用版或三节点企业版、PolarDB MySQL集群版或高压缩引擎(X-Engine)。
- 目标数据库实例为RDS MySQL、PolarDB MySQL。
- 实例已接入DAS,详情请参见接入阿里云数据库实例。
- 需开启DAS专业版,详情请参见DAS专业版。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
hdm:CreateCloudBenchTasks | Write |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
TaskType | string | 是 | 压测任务类型。取值:
| pressure test |
SrcInstanceId | string | 是 | 源实例ID,仅支持RDS MySQL、PolarDB MySQL实例,您可通过调用GetInstanceInspections接口获取。 说明当DstType为Instance时,本参数需要传入。 | rm-2ze1jdv45i7l6**** |
Description | string | 是 | 压测任务描述。 | test-das-bench-0501 |
SrcPublicIp | string | 否 | 备用参数。 | None |
DstInstanceId | string | 否 | 目标实例ID,仅支持RDS MySQL、PolarDB MySQL实例,您可通过调用GetInstanceInspections接口获取。 说明当DstType为Instance时,本参数需要传入。 | rm-2ze1jdv45i7l6**** |
GatewayVpcId | string | 否 | 数据库网关的专有网络ID。 说明若ClientType取值为ECS,则此参数必传入。 | vpc-t4nsnwvpbc1h76ja4**** |
GatewayVpcIp | string | 否 | 数据库网关的IP地址或域名。 说明若ClientType取值为ECS,则此参数必传入。 | 172.30.XX.XX |
ClientType | string | 是 | 压测机器类型。取值:
| ECS |
RequestStartTime | string | 否 | 压测任务的开始时间,格式为Unix时间戳,单位为毫秒。 | 1608888296000 |
RequestEndTime | string | 否 | 压测任务的结束时间,格式为Unix时间戳,单位为毫秒。 | 1608888296001 |
RequestDuration | string | 否 | 压测任务的持续时间,单位为毫秒。 | 86400000 |
Rate | string | 否 | 源实例流量在目标实例上的回放速度,回放速度必须是正整数,取值:1~30,默认为1。 | 1 |
SmartPressureTime | string | 否 | 生成压测的持续时间,单位为毫秒。 说明当TaskType为smart pressure test时本参数需要传入。 | 86400000 |
DtsJobClass | string | 否 | DTS迁移任务规格,您可以通过调用DescribeCloudbenchTask接口获取。 说明压测任务需要先将源实例基准数据迁移至目标实例,当您新建DTS任务时需要传入本参数。 | medium |
DtsJobId | string | 否 | DTS迁移任务ID,您可调用ConfigureDtsJob接口获取。 说明已在DTS控制台创建完DTS任务时本参数必传入。 | 23127 |
SrcSuperAccount | string | 否 | 源端实例高权限账号。取值:admin。 说明当DstType为Instance时,本参数需要传入。 | admin |
SrcSuperPassword | string | 否 | 源端实例高权限账号的密码。 说明当DstType为Instance时,本参数需要传入。 | test123 |
DstSuperAccount | string | 否 | 目标实例的高权限账号。 | root |
DstSuperPassword | string | 否 | 目标实例高权限账号的密码。 | test123 |
DstType | string | 否 | 目标实例的类型。取值:
| Instance |
DstConnectionString | string | 否 | 目标实例的连接地址,仅支持RDS MySQL、PolarDB MySQL实例。 说明DstType为ConnectionString本参数有效。 | rm-de21209****.mysql.rds.aliyuncs.com |
DstPort | string | 否 | 目标实例的端口。 说明DstType为ConnectionString本参数有效。 | 3306 |
WorkDir | string | 否 | 压测生成的临时目录。 | /tmp/bench/ |
BackupId | string | 否 | 备份集ID,可通过查询备份列表接口DescribeBackups获取。 | 229132 |
BackupTime | string | 否 | 备份的时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 | 2021-04-23T13:22:14Z |
Amount | string | 否 | 创建压测任务的总个数,取值:0~30,默认为1。 | 1 |
EndState | string | 否 | 压测任务结束后的状态。取值:
说明当压测任务执行完EndState设置的状态之后,任务将直接到达完成状态。 | WAIT_TARGET |
返回参数
示例
正常返回示例
JSON
格式
{
"Code": "200",
"Message": "Successful",
"RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success": "true",
"Data": {
"taskIds": [
"\"Data\": { \"total\": 1, \"list\":[...] }, \"Code\": 200, \"Success\": true }"
]
}
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParams | The request parameters are invalid. | 请求参数错误 |
访问错误中心查看更多错误码。