调用GetStorageAnalysisResult接口,查询空间分析任务状态和分析结果。
接口说明
物理文件大小获取的是文件真实大小(需实例部署形态支持);表级别其他数据基于information_schema.tables。由于 MySQL 中统计信息不是实时更新,所以可能和物理文件大小存在差异,如有需要获取最新数据,可在业务低峰时期对相关的表执行ANALYZE TABLE。
本接口只适用于 RDS MySQL、PolarDB MySQL 版和 MongoDB 实例。
对于 RDS MySQL 和 PolarDB MySQL 版实例,本接口对应于旧版空间分析功能,该接口生成的任务无法在 DAS 控制台新版空间分析页面查看。如有需要查看任务及结果,请调用接口后自行保存数据。
使用阿里云或 DAS 的 SDK 时,建议使用最新版本。
在使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
hdm:GetStorageAnalysisResult |
none |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| InstanceId |
string |
是 |
实例 ID。 |
rm-2ze1jdv45i7l6**** |
| NodeId |
string |
否 |
节点 ID。 说明
预留参数。 |
None |
| TaskId |
string |
是 |
任务 ID,调用 CreateStorageAnalysisTask 接口返回的任务 ID。 |
910f83f4b96df0524ddc5749f615**** |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| Code |
integer |
返回的状态码。 |
200 |
| Message |
string |
请求返回消息。 说明
请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等)。 |
Successful |
| Data |
object |
返回的数据。 |
|
| TaskId |
string |
任务 ID。 |
910f83f4b96df0524ddc5749f615**** |
| TaskFinish |
boolean |
任务是否结束:
|
true |
| TaskSuccess |
boolean |
任务是否成功:
说明
当任务结束时才返回该字段。 |
true |
| TaskState |
string |
空间分析任务的状态:
|
SUCCESS |
| TaskProgress |
integer |
任务进度,取值为 0~100 的整数。 说明
例如取值为 100 时,表示任务进度 100%。 |
100 |
| TotalDbCount |
integer |
空间分析任务需要分析的数据库数量。 |
32 |
| AnalyzedDbCount |
integer |
已分析结束的数据库数量。 |
2 |
| StorageAnalysisResult |
object |
空间分析详情。 |
|
| TotalStorageSize |
integer |
实例总空间大小,单位为 Byte。 说明
当前仅支持 RDS MySQL。 |
214748364800 |
| TotalUsedStorageSize |
integer |
已使用的空间,单位为 Byte。 |
68345135104 |
| TotalFreeStorageSize |
integer |
剩余可用空间,单位为 Byte。 说明
当前仅支持 RDS MySQL。 |
146403229696 |
| DailyIncrement |
integer |
近一周空间日均增长量估算值,单位为 Byte。 |
0 |
| EstimateAvailableDays |
integer |
剩余空间可使用天数估算值。 |
99 |
| AnalysisSuccess |
boolean |
数据库和表空间分析是否成功。
|
true |
| AnalysisErrorType |
string |
数据库和表空间分析任务失败类型:
|
DB_NOT_EXIST |
| NeedOptimizeItemList |
array<object> |
根据 DAS 默认规则生成的待优化项列表。用户也可根据自身业务情况忽略该列表中的内容,然后根据接口返回的其他基础数据自定义规则生成待优化项列表。 |
|
|
object |
|||
| DbName |
string |
数据库名。 |
testdb01 |
| TableName |
string |
表名。 |
test_table |
| OptimizeItemName |
string |
待优化项:
|
NEED_OPTIMIZE_TABLE |
| OptimizeAdvice |
string |
优化建议:
|
NEED_OPTIMIZE_TABLE |
| AssociatedData |
string |
待优化项关联数据,以 JSON 格式返回。 |
{ "autoIncrementCurrentValue": 2147483647, "autoIncrementRatio": 1, "dbName": "testdb01", "maximumValue": 2147483647, "columnName": "id", "tableName": "test_table" } |
| TableStats |
array<object> |
表空间数据列表。 |
|
|
object |
|||
| DbName |
string |
数据库名。 |
testdb01 |
| TableName |
string |
表名。 |
test_table |
| TableType |
string |
表类型。 说明
该参数适用于 RDS MySQL 和 PolarDB MySQL 版。 |
BASE TABLE |
| Engine |
string |
表使用的存储引擎类型。 说明
该参数适用于 RDS MySQL 和 PolarDB MySQL 版。 |
InnoDB |
| PhysicalFileSize |
integer |
表物理文件大小,单位为 Byte。 说明
该参数适用于 RDS MySQL 和 PolarDB MySQL 版。部分实例因部署形态的原因不支持获取该数据。 |
3057655808 |
| PhyTotalSize |
integer |
表空间大小,单位为 Byte。 说明
对于 RDS MySQL 和 PolarDB MySQL 版,取值为 DataSize、IndexSize、DataFree 之和;对于 MongoDB,取值为 DataSize、IndexSize 之和。 |
3012493312 |
| TotalSize |
integer |
|
3005153280 |
| IndexSize |
integer |
索引占用的空间大小,单位为 Byte。 |
1022296064 |
| DataSize |
integer |
|
1982857216 |
| DataFree |
integer |
碎片空间大小,单位为 Byte。 说明
该参数适用于 RDS MySQL 和 PolarDB MySQL 版。表碎片率计算方式一般为: |
7340032 |
| TableRows |
integer |
表行数。 |
12794732 |
| AvgRowLength |
integer |
平均行长,单位为 Byte。 |
154 |
| FragmentSize |
integer |
可回收空间大小(碎片空间大小),单位为 Byte。 说明
该参数仅适用于 MongoDB 实例。表碎片率计算方式为: |
362221568 |
| RequestId |
string |
请求 ID。 |
B6D17591-B48B-4D31-9CD6-9B9796B2**** |
| Success |
boolean |
请求是否执行成功:
|
true |
示例
正常返回示例
JSON格式
{
"Code": 200,
"Message": "Successful",
"Data": {
"TaskId": "910f83f4b96df0524ddc5749f615****",
"TaskFinish": true,
"TaskSuccess": true,
"TaskState": "SUCCESS",
"TaskProgress": 100,
"TotalDbCount": 32,
"AnalyzedDbCount": 2,
"StorageAnalysisResult": {
"TotalStorageSize": 214748364800,
"TotalUsedStorageSize": 68345135104,
"TotalFreeStorageSize": 146403229696,
"DailyIncrement": 0,
"EstimateAvailableDays": 99,
"AnalysisSuccess": true,
"AnalysisErrorType": "DB_NOT_EXIST",
"NeedOptimizeItemList": [
{
"DbName": "testdb01",
"TableName": "test_table",
"OptimizeItemName": "NEED_OPTIMIZE_TABLE",
"OptimizeAdvice": "NEED_OPTIMIZE_TABLE",
"AssociatedData": "{\n \"autoIncrementCurrentValue\": 2147483647,\n \"autoIncrementRatio\": 1,\n \"dbName\": \"testdb01\",\n \"maximumValue\": 2147483647,\n \"columnName\": \"id\",\n \"tableName\": \"test_table\"\n}"
}
],
"TableStats": [
{
"DbName": "testdb01",
"TableName": "test_table",
"TableType": "BASE TABLE",
"Engine": "InnoDB",
"PhysicalFileSize": 3057655808,
"PhyTotalSize": 3012493312,
"TotalSize": 3005153280,
"IndexSize": 1022296064,
"DataSize": 1982857216,
"DataFree": 7340032,
"TableRows": 12794732,
"AvgRowLength": 154,
"FragmentSize": 362221568
}
]
}
},
"RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success": true
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | InvalidParams | The request parameters are invalid. | |
| 403 | NoPermission | You are not authorized to do this action. |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。