查询迁移任务列表
功能介绍
查询迁移任务列表。
调用方法
请参见如何调用API。
URI
GET /v2/{project_id}/migration-tasks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。获取方法请参见获取项目ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
offset |
否 |
Integer |
偏移量,表示从此偏移量开始查询, offset大于等于0。 |
limit |
否 |
Integer |
每页显示的条目数量。 |
name |
否 |
String |
迁移任务名称。 |
请求参数
无
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
count |
Integer |
迁移任务数量。 |
migration_tasks |
Array of MigrationTaskList objects |
迁移任务列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
String |
迁移任务ID。 |
task_name |
String |
迁移任务名称。 |
status |
String |
迁移任务状态,这个字段的值包括:SUCCESS(成功), FAILED(失败), MIGRATING(迁移中),TERMINATED(已结束)。 |
migration_type |
String |
迁移任务类型,包括备份文件导入和在线迁移两种类型。 |
migration_method |
String |
迁移方式,包括全量迁移和增量迁移两种类型。 |
ecs_tenant_private_ip |
String |
迁移机租户侧私有IP,与目的/源redis私有IP处于同VPC,可将此IP加入白名单。 |
data_source |
String |
源redis地址,格式为ip:port或者桶名。 |
source_instance_name |
String |
源实例名称,若自建redis则为空。 |
source_instance_id |
String |
源实例ID,若自建redis则为空。 |
target_instance_addrs |
String |
目标redis地址,格式为ip:port。 |
target_instance_name |
String |
目标实例名称。 |
target_instance_id |
String |
目标实例ID。 |
created_at |
String |
迁移任务创建时间。 |
description |
String |
迁移任务描述。 |
source_instance_status |
String |
源实例状态,若自建redis则为空。 |
target_instance_status |
String |
目标实例状态。 |
source_instance_subnet_id |
String |
源实例子网ID,若自建redis则为空。 |
target_instance_subnet_id |
String |
目标实例子网ID。 |
source_instance_spec_code |
String |
源实例规格编码,若自建redis则为空。 |
target_instance_spec_code |
String |
目标实例规格编码。 |
error_message |
String |
错误信息。 |
released_at |
String |
迁移机释放时间。 |
version |
String |
版本。 |
resume_mode |
String |
操作模式,分为auto和manual。 |
supported_features |
Array of strings |
支持的特性。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息。 |
error_code |
String |
错误码。 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null)。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息。 |
error_code |
String |
错误码。 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null)。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息。 |
error_code |
String |
错误码。 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null)。 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息。 |
error_code |
String |
错误码。 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null)。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息。 |
error_code |
String |
错误码。 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null)。 |
请求示例
GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/migration-tasks?offset=0&limit=10&name=dcs-migration-i9qk
响应示例
状态码: 200
查询迁移任务列表。
{ "count" : 1, "migration_tasks" : [ { "task_id" : "2944a563-6f27-4604-9c16-a9a53cd95cc7", "task_name" : "dcs-migration-test-6-16", "status" : "TERMINATED", "migration_type" : "online_migration", "migration_method" : "incremental_migration", "data_source" : "192.168.0.200:6379", "source_instance_name" : "migration-resource", "source_instance_id" : "132e0017-715b-4556-930a-95c7db7e8f7a", "target_instance_addrs" : "192.168.0.153:6379", "target_instance_name" : "migration-target", "target_instance_id" : "eb1a8d1c-9ea6-4fcd-ac43-c3d3c2493f06", "created_at" : "2021-06-16T06:12:55.508Z", "description" : "dcs-test", "source_instance_status" : "RUNNING", "target_instance_status" : "RUNNING", "source_instance_subnet_id" : "192.168.0.1", "target_instance_subnet_id" : "192.168.0.2", "source_instance_spec_code" : "redis.single.xu1.tiny.128", "target_instance_spec_code" : "redis.single.xu1.tiny.128", "error_message" : null, "released_at" : "202404011057", "version" : "6.0.21", "resume_mode" : "auto", "supported_features" : [ ] } ] }
SDK代码示例
SDK代码示例如下。
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 |
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 ListMigrationTaskSolution { 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(); ListMigrationTaskRequest request = new ListMigrationTaskRequest(); try { ListMigrationTaskResponse response = client.listMigrationTask(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 |
# 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 = ListMigrationTaskRequest() response = client.list_migration_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 |
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.ListMigrationTaskRequest{} response, err := client.ListMigrationTask(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
查询迁移任务列表。 |
400 |
非法请求。 |
401 |
认证信息非法。 |
403 |
请求被拒绝访问。 |
404 |
所请求的资源不存在。 |
500 |
内部服务错误。 |
错误码
请参见错误码。