Querying Details of Offline Key Analysis
Function
This API is used to query details about offline key analysis.
Calling Method
For details, see Calling APIs.
Authorization Information
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.
- If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
- If you are using identity policy-based authorization, the following identity policy-based permissions are required.
URI
GET /v2/{project_id}/instances/{instance_id}/offline/key-analysis/{task_id}
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Definition: Project ID. For details, see Obtaining a Project ID. Constraints: N/A Range: N/A Default Value: N/A |
| instance_id | Yes | String | Definition: Instance ID. It can be viewed on the instance details page on the DCS console. Constraints: N/A Range: N/A Default Value: N/A |
| task_id | Yes | String | Definition: Task ID. It can be viewed on the offline key analysis page on the DCS console. Constraints: N/A Range: N/A Default Value: N/A |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| node_id | No | String | Definition Node ID. You can view it on the node management page of the DCS console. Constraints N/A Range N/A Default Value N/A |
Request Parameters
None
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| id | String | Definition: Task execution record ID. (This ID corresponds to the task ID in the parameter for querying offline key analysis details.) Range: N/A |
| instance_id | String | Definition: Instance ID. Range: N/A |
| node_id | String | Definition: Node ID. Range: N/A |
| backup_id | String | Definition: Backup ID. Range: N/A |
| group_name | String | Definition: Shard name. Range: N/A |
| node_ip | String | Definition: IPv4 address of the node. Range: N/A |
| node_ipv6 | String | Definition: IPv6 address of the node. Range: N/A |
| node_type | String | Definition: Node type. Range: master: master node slave: standby node |
| analysis_type | String | Definition: Analysis type. Range: new_backup: Create a backup and analyze the backup. old_backup: Analyze historical backup files. |
| started_at | String | Definition: Start time of an analysis task. Range: N/A |
| finished_at | String | Definition: End time of an analysis task. Range: N/A |
| largest_key_prefixes | Array of LargestKeyPrefix objects | Definition: List of prefix keys. |
| largest_keys | Array of LargestKey objects | Definition Big key list, sorted by memory. |
| largest_keys_of_num | Array of LargestKeyOfNum objects | Definition Big key list, sorted by element. |
| unexpired_largest_keys | Array of UnexpiredLargestKey objects | Definition List of unexpired big keys, sorted by memory. |
| unexpired_largest_keys_of_num | Array of UnexpiredLargestKeyOfNum objects | Definition List of unexpired big keys, sorted by element. |
| total_bytes | Integer | Definition: Total size of keys, in bytes. Range: N/A |
| total_num | Integer | Definition: Total number of keys. Range: N/A |
| total_expired_num | Integer | Definition Total number of expired keys. Range N/A |
| total_expired_bytes | Integer | Definition Memory occupied by expired keys. Range N/A |
| total_unexpired_num | Integer | Definition Total number of keys that never expire. Range N/A |
| total_unexpired_bytes | Integer | Definition Memory used by keys that never expire. Range N/A |
| type_bytes | Array of KeyTypeByte objects | Definition: Total size of each key type, in bytes. Range: N/A |
| type_num | Array of KeyTypeNum objects | Definition: Total number of keys of each type. Range: N/A |
| Parameter | Type | Description |
|---|---|---|
| key_prefix | String | Definition: Prefix name. Range: N/A |
| type | String | Definition: Data type of the key. Range: string list set zset hash |
| key_num | Long | Definition Number of keys with the same prefix. Range N/A |
| bytes | Integer | Definition: Size of the key, in bytes. Range: N/A |
| num | Integer | Definition Number of elements in keys with the same prefix. Range N/A |
| Parameter | Type | Description |
|---|---|---|
| key | String | Definition: Key name. Range: N/A |
| type | String | Definition: Data type of the key. Range: string list set zset hash |
| encoding | String | Definition Encoding format of a key. Range N/A |
| db | Integer | Definition Database where a key is located. Range None |
| expiration_time_millis | Long | Definition Key expiration time. The value is a Unix timestamp, in milliseconds. Value 0 indicates that the key never expires. Range None |
| bytes | Integer | Definition: Total size of keys, in bytes. Range: N/A |
| num_of_elem | Integer | Definition Number of elements in a key. Range N/A |
| Parameter | Type | Description |
|---|---|---|
| key | String | Definition Key name. Range N/A |
| type | String | Definition Data type of the key. Range string list set zset hash |
| encoding | String | Definition Encoding format of a key. Range N/A |
| db | Integer | Definition Database where a key is located. Range None |
| expiration_time_millis | Long | Definition Key expiration time. The value is a Unix timestamp, in milliseconds. Value 0 indicates that the key never expires. Range None |
| bytes | Integer | Definition Total size of keys, in bytes. Range N/A |
| num_of_elem | Integer | Definition Number of elements in a key. Range N/A |
| Parameter | Type | Description |
|---|---|---|
| key | String | Definition Key name. Range N/A |
| type | String | Definition Data type of the key. Range string list set zset hash |
| encoding | String | Definition Encoding format of a key. Range N/A |
| db | Integer | Definition Database where a key is located. Range None |
| expiration_time_millis | Long | Definition Key expiration time. Value 0 indicates that the key never expires. Range 0 |
| bytes | Integer | Definition Total size of keys, in bytes. Range N/A |
| num_of_elem | Integer | Definition Number of elements in a key. Range N/A |
| Parameter | Type | Description |
|---|---|---|
| key | String | Definition Key name. Range N/A |
| type | String | Definition Data type of the key. Range string list set zset hash |
| encoding | String | Definition Encoding format of a key. Range N/A |
| db | Integer | Definition Database where a key is located. Range None |
| expiration_time_millis | Long | Definition Key expiration time. Value 0 indicates that the key never expires. Range 0 |
| bytes | Integer | Definition Total size of keys, in bytes. Range N/A |
| num_of_elem | Integer | Definition Number of elements in a key. Range N/A |
| Parameter | Type | Description |
|---|---|---|
| type | String | Definition: Data type of the key. Range: string list set zset hash |
| bytes | Integer | Definition: Total size of each key type, in bytes. Range: N/A |
| Parameter | Type | Description |
|---|---|---|
| type | String | Definition: Data type of the key. Range: string list set zset hash |
| num | Integer | Definition: Total number of keys. Range: N/A |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_msg | String | Definition: Error message. Range: N/A |
| error_code | String | Definition: Error code. Range: For details, see Error Codes. |
| error_ext_msg | String | Definition Extended error information. This parameter is not used currently and is not returned. Range N/A |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_msg | String | Definition: Error message. Range: N/A |
| error_code | String | Definition: Error code. Range: For details, see Error Codes. |
| error_ext_msg | String | Definition Extended error information. This parameter is not used currently and is not returned. Range N/A |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_msg | String | Definition: Error message. Range: N/A |
| error_code | String | Definition: Error code. Range: For details, see Error Codes. |
| error_ext_msg | String | Definition Extended error information. This parameter is not used currently and is not returned. Range N/A |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| error_msg | String | Definition: Error message. Range: N/A |
| error_code | String | Definition: Error code. Range: For details, see Error Codes. |
| error_ext_msg | String | Definition Extended error information. This parameter is not used currently and is not returned. Range N/A |
Status code: 500
| Parameter | Type | Description |
|---|---|---|
| error_msg | String | Definition: Error message. Range: N/A |
| error_code | String | Definition: Error code. Range: For details, see Error Codes. |
| error_ext_msg | String | Definition Extended error information. This parameter is not used currently and is not returned. Range N/A |
Example Requests
GET https://{dcs_endpoint}/v2/{project_id}/instances/{instance_id}/offline/key-analysis/{task_id} Example Responses
Status code: 200
Offline key analysis details queried.
{
"id" : "858ee14c-2271-4489-8b82-7bda7459ae3e",
"instance_id" : "5f9057b5-c330-4ee2-8138-7e69896eeec3",
"node_id" : "ff80808191c06d650191c163c53d3b40",
"backup_id" : "9c38a8ff-6cab-4835-82be-e6507ba09203",
"analysis_type" : "new_backup",
"started_at" : "2024-10-15T02:21:23.534Z",
"finished_at" : "2024-10-15T02:23:23.534Z",
"group_name" : "group-0",
"node_ip" : "10.10.0.0",
"node_ipv6" : "2407:c080:11f0:12c:7cc:d251:a5f2:80b6",
"node_type" : "master",
"largest_key_prefixes" : [ {
"key_prefix" : "dcs-bigkey",
"type" : "string",
"key_num" : 1,
"bytes" : 300,
"num" : 1
} ],
"largest_keys" : [ {
"key" : "dcs-bigkey-test",
"type" : "string",
"encoding" : "string",
"db" : 0,
"expiration_time_millis" : 1735660800000,
"bytes" : 300,
"num_of_elem" : 1
} ],
"largest_keys_of_num" : [ {
"key" : "dcs-bigkey-test",
"type" : "string",
"encoding" : "string",
"db" : 0,
"expiration_time_millis" : 1735660800000,
"bytes" : 300,
"num_of_elem" : 1
} ],
"unexpired_largest_keys" : [ {
"key" : "dcs-bigkey-test",
"type" : "string",
"encoding" : "string",
"db" : 0,
"expiration_time_millis" : 1735660800000,
"bytes" : 300,
"num_of_elem" : 1
} ],
"unexpired_largest_keys_of_num" : [ {
"key" : "dcs-bigkey-test",
"type" : "string",
"encoding" : "string",
"db" : 0,
"expiration_time_millis" : 1735660800000,
"bytes" : 300,
"num_of_elem" : 1
} ],
"total_bytes" : 1000,
"total_num" : 100,
"total_expired_num" : 100,
"total_expired_bytes" : 1500,
"total_unexpired_num" : 100,
"total_unexpired_bytes" : 1500,
"type_bytes" : [ {
"type" : "string",
"bytes" : 300
} ],
"type_num" : [ {
"type" : "string",
"num" : 1
} ]
} Status code: 400
Invalid request.
{
"error_code" : "DCS.4230",
"error_msg" : "Does not support offline key analysis."
} SDK Sample Code
The SDK sample code is as follows.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.dcs.v2.region.DcsRegion; import com.huaweicloud.sdk.dcs.v2.*; import com.huaweicloud.sdk.dcs.v2.model.*; public class ShowOfflineKeyAnalysisTaskSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); DcsClient client = DcsClient.newBuilder() .withCredential(auth) .withRegion(DcsRegion.valueOf("<YOUR REGION>")) .build(); ShowOfflineKeyAnalysisTaskRequest request = new ShowOfflineKeyAnalysisTaskRequest(); request.withInstanceId("{instance_id}"); request.withTaskId("{task_id}"); try { ShowOfflineKeyAnalysisTaskResponse response = client.showOfflineKeyAnalysisTask(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdcs.v2.region.dcs_region import DcsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdcs.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = DcsClient.new_builder() \ .with_credentials(credentials) \ .with_region(DcsRegion.value_of("<YOUR REGION>")) \ .build() try: request = ShowOfflineKeyAnalysisTaskRequest() request.instance_id = "{instance_id}" request.task_id = "{task_id}" response = client.show_offline_key_analysis_task(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dcs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth, err := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). SafeBuild() if err != nil { fmt.Println(err) return } hcClient, err := dcs.DcsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). SafeBuild() if err != nil { fmt.Println(err) return } client := dcs.NewDcsClient(hcClient) request := &model.ShowOfflineKeyAnalysisTaskRequest{} request.InstanceId = "{instance_id}" request.TaskId = "{task_id}" response, err := client.ShowOfflineKeyAnalysisTask(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
More
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
| Status Code | Description |
|---|---|
| 200 | Offline key analysis details queried. |
| 400 | Invalid request. |
| 401 | Invalid authentication information. |
| 403 | Rejected request. |
| 404 | The requested resource could not be found. |
| 500 | Internal service error. |
Error Codes
See Error Codes.
What is your overall rating for this page?
Thank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot