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.
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 |
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. |
total_bytes |
Integer |
Definition: Total size of keys, in bytes. Range: N/A |
total_num |
Integer |
Definition: Total number of keys. 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 |
bytes |
Integer |
Definition: Size of the key, in bytes. Range: N/A |
num |
Integer |
Definition: Number of 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 |
bytes |
Integer |
Definition: Total size of keys, in bytes. Range: N/A |
num_of_elem |
Integer |
Definition: Element quantity (for the string type, in bytes) or size (for non-string type). 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 set to null. 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 set to null. 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 set to null. 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 set to null. 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 set to null. 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", "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" : [ { "type" : "string", "key_prefix" : "dcs-bigkey", "bytes" : 300, "num" : 1 } ], "largest_keys" : [ { "key" : "dcs-bigkey-test", "type" : "string", "bytes" : 300, "num_of_elem" : 1 } ], "total_bytes" : 300, "total_num" : 1, "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.
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()); } } } |
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) |
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 |
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 := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := dcs.NewDcsClient( dcs.DcsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) 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) } } |
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.
Feedback
Was this page helpful?
Provide feedbackThank 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