Exemplo 2: Criação de uma tarefa de migração de dados
Cenário
Esta seção descreve como criar uma tarefa de migração chamando as API. Para obter detalhes sobre como chamar as API, consulte Chamada das API.
Uma tarefa de migração completa online é usada como exemplo. A origem e o destino da migração são instâncias do DCS Redis na mesma VPC na HUAWEI CLOUD.
As API envolvidas
Chame as API para executar as seguintes etapas necessárias para criar uma tarefa de migração de dados:
- Passo 1: Determine o endereço IP de origem e o número da porta: Determine o endereço IP e o número da porta do Redis de origem.
- Passo 2: Criar uma Tarefa de Migração de Dados: Crie uma tarefa de migração de dados.
- Passo 3: Consultar o Resultado da Migração: Verifique se a migração foi bem-sucedida.
Passo 1: Determine o endereço IP de origem e o número da porta
- Consulte o endereço IP e o número da porta de uma instância específica.
- URI
- Exemplo de solicitação
GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances/21bc7b53-2494-4f10-bb0b-c0b913d9e329
Para obter o valor de {dcs_endpoint}, consulte Regiões e Endpoints.
- Exemplo de resposta
{ "free": null, "max_memory": 2048, "used_memory": 1, "instance_id": "21bc7b53-2494-4f10-bb0b-c0b913d9e329", "name": "dcs-api-test", "resource_spec_code": "redis.single.au1.large.2", "engine": "Redis", "engine_version": "5.0", "internal_version": null, "charging_mode": 0, "capacity": 2, "capacity_minor": null, "vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7", "vpc_name": "vpc-d2d4", "ip": "192.168.0.100", "domain_name": "redis-88a7bbb-dcs-api-test.dcs.huaweicloud.com", "readonly_domain_name": null, "port": 6379, "status": "RUNNING", "freeze_scene": null, "created_at": "2020-06-05T03:30:36.273Z", "update_at": "2020-06-05T03:30:47.231Z", "error_code": null, "user_id": "d53977d1adfb49c5b025ba7d33a13fd7", "user_name": "paas_dcs_a00421997_02", "maintain_begin": "02:00:00", "maintain_end": "06:00:00", "no_password_access": "true", "access_user": null, "enable_publicip": false, "publicip_id": null, "publicip_address": null, "enable_ssl": false, "service_upgrade": false, "service_task_id": "", "enterprise_project_id": "0", "security_group_id": null, "tags": [], "product_type": "generic", "cpu_type": "aarch64", "storage_type": "DRAM", "launched_at": "2020-06-05T03:30:47.238Z", "is_free": null, "libos": false, "cache_mode": "single", "available_zones": ["d539378ec1314c85b76fefa3f7071458"], "subnet_id": "a4112635-3ec0-471c-95c3-5cf49b9533af", "backend_addrs": null, "crr_role": null, "cloud_service_type_code": "hws.service.type.dcs", "cloud_resource_type_code": "hws.resource.type.dcs3", "support_slow_log_flag": null, "ipv6": null, "enable_ipv6": false, "description": "", "product_id": "redis.single.au1.large.2-h", "security_group_name": null, "subnet_name": "dcs-beta", "order_id": null, "subnet_cidr": "192.168.0.0/24", "task": null, "instance_backup_policy": null, "enterprise_project_name": null }
- Record the required IP address and port number of the instance.
Passo 2: Criar uma Tarefa de Migração de Dados
- URI
- Exemplo de solicitação
POST https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/migration-task
Para obter o valor de {dcs_endpoint}, consulte Regiões e Endpoints.
Corpo:
{ "migration_method": "full_amount_migration", "migration_type": "online_migration", "network_type": "vpc", "source_instance": { "addrs": "192.168.0.79:6379" }, "target_instance": { "id": "92b2b922-0f96-4664-acc5-04d922867c4d" }, "task_name": "dcs-test-migration" }
- Exemplo de resposta
{ "id": "8aa6999f727f0a40017283479d730d7c", "name": "dcs-test-migration", "status": "MIGRATING", "error": "" }
Para obter detalhes sobre os parâmetros para a criação de uma tarefa de migração de dados, consulte Criação de tarefas de migração de dados.
Passo 3: Consultar o Resultado da Migração
- URI
- Exemplo de solicitação
GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/migration-task/8aa6999f727f0a40017283479d730d7c
Para obter o valor de {dcs_endpoint}, consulte Regiões e Endpoints.
- Exemplo de resposta
{ "task_name": "dcs-test-migration", "task_id": "8aa6999f727f0a40017283479d730d7c", "description": null, "status": "SUCCESS", "migration_type": "online_migration", "migration_method": "full_amount_migration", "backup_files": null, "network_type": "vpc", "bandwidth_limit_mb": null, "source_instance": { "id": null, "ip": "192.168.0.79:6379", "port": null, "name": null, "password": null, "addrs": null }, "target_instance": { "id": "92b2b922-0f96-4664-acc5-04d922867c4d", "ip": null, "port": null, "name": "dcs-xwvq", "password": null, "addrs": null }, "created_at": "2020-06-05T07:00:08.204Z", "updated_at": "2020-06-05T07:03:25.075Z" }
Se o status da tarefa for SUCCESS, a migração será bem-sucedida.