Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Distributed Cache Service/ Referencia de la API/ Ejemplos/ Ejemplo 1: Creación de una instancia de DCS Redis
Actualización más reciente 2022-11-09 GMT+08:00

Ejemplo 1: Creación de una instancia de DCS Redis

Escenario

Esta sección describe cómo crear una instancia de DCS Redis mediante llamada de las API. Para obtener más información sobre cómo llamar a las API, consulta Llamadas a la API.

Se utiliza como ejemplo una instancia DCS Redis 5.0 de nodo único de 2 GB. La instancia utiliza la arquitectura Arm CPU y se puede acceder sin una contraseña.

APIs involucradas

Al crear una instancia de DCS Redis, debe consultar las especificaciones del producto, la VPC y la subred. Llama a las API para realizar los siguientes pasos:

Paso 1: Determinar la VPC

  1. Consultar VPCs.

    • URI

      Formato URI: GET /v1/{project_id}/vpcs

    • Solicitud de ejemplo

      GET https://{vpc_endpoint}/v1/7d80ae32f57b499eb8781f9a9f57c538/vpcs

      Para obtener el valor de {vpc_endpoint}, consulte Regions y puntos de conexión.

    • Ejemplo de respuesta
      {
      	"vpcs": [{
      		"id": "743bf021-2c2d-4511-aeac-85bd48c06af7",
      		"name": "vpc-d2d4",
      		"description": "",
      		"cidr": "192.168.0.0/16",
      		"status": "OK",
      		"routes": [],
      		"enterprise_project_id": "0"
      	}]
      }

  2. Registrar el ID de VPC requerido.

Paso 2: Determinar la subred

  1. Consultar subredes.

    • URI

      Formato URI: GET /v1/{project_id}/subnets?{vpc_id}

    • Solicitud de ejemplo

      GET https://{vpc_endpoint}/v1/7d80ae32f57b499eb8781f9a9f57c538/subnets?vpc_id=743bf021-2c2d-4511-aeac-85bd48c06af7

      To obtain the value of {vpc_endpoint}, see Regions and Endpoints.

    • Ejemplo de respuesta
      {
      	"subnets": [{
      		"id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3",
      		"name": "subnet-d2e4",
      		"description": "",
      		"cidr": "192.168.0.0/24",
      		"dnsList": ["100.125.1.250",
      		"100.125.129.250"],
      		"status": "ACTIVE",
      		"vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7",
      		"ipv6_enable": false,
      		"gateway_ip": "192.168.0.1",
      		"dhcp_enable": true,
      		"primary_dns": "100.125.1.250",
      		"secondary_dns": "100.125.129.250",
      		"availability_zone": "cn-southwest-2a",
      		"neutron_network_id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3",
      		"neutron_subnet_id": "3d4ccce0-cadc-4af4-8c21-14d2857ffe5e",
      		"extra_dhcp_opts": []
      	}]
      }

  2. Registrar el ID de subred requerido.

Paso 3: Determinar las especificaciones del producto

  1. Consultar las especificaciones del producto.

    • URI

      URI format: GET /v2/{project_id}/flavors?spec_code={spec_code}&cache_mode={cache_mode}&engine={engine}&engine_version={engine_version}&cpu_type={cpu_type}&capacity={capacity}

    • Solicitud de ejemplo

      GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/flavors?cache_mode=single&engine=Redis&engine_version=5.0&cpu_type=aarch64&capacity=2

      Para obtener el valor de {dcs_endpoint}, consulte Regions y puntos de conexión.

    • Ejemplo de respuesta
      [{
      	"dec": false,
      	"spec_code": "redis.single.au1.large.2",
      	"cloud_service_type_code": "hws.service.type.dcs",
      	"cloud_resource_type_code": "hws.resource.type.dcs3",
      	"cache_mode": "single",
      	"engine": "redis",
      	"engine_version": "4.0;5.0",
      	"product_type": "generic",
      	"cpu_type": "aarch64",
      	"storage_type": "DRAM",
      	"capacity": ["2"],
      	"billing_mode": ["Hourly",
      	"RI",
      	"Monthly",
      	"Yearly"],
      	"tenant_ip_count": 1,
      	"pricing_type": "normal",
      	"is_dec": false,
      	"attrs": [{
      		"capacity": "2",
      		"name": "max_memory",
      		"value": "2"
      	},
      	{
      		"capacity": "2",
      		"name": "max_connections",
      		"value": "10000"
      	},
      	{
      		"capacity": "2",
      		"name": "sharding_num",
      		"value": "1"
      	},
      	{
      		"capacity": "2",
      		"name": "proxy_num",
      		"value": "0"
      	},
      	{
      		"capacity": "2",
      		"name": "db_number",
      		"value": "256"
      	},
      	{
      		"capacity": "2",
      		"name": "max_clients",
      		"value": "10000"
      	},
      	{
      		"capacity": "2",
      		"name": "max_bandwidth",
      		"value": "128"
      	}],
      	"flavors_available_zones": [{
      		"capacity": "2",
      		"unit": "GB",
      		"available_zones": ["a0865121f83b41cbafce65930a22a6e8",
      		"effdcbc7d4d64a02aa1fa26b42f56533"],
      		"az_codes": ["cn-north-4b",
      		"cn-north-4a"]
      	}]
      }]

  2. Seleccione un producto según sea necesario y registre el código de especificación del producto y el código de la zona de disponibilidad donde hay recursos disponibles.

Paso 4: Crear una instancia

  • URI

    Formato URI: POST /v2/{project_id}/instances

  • Solicitud de ejemplo

    POST https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances

    Para obtener el valor de {dcs_endpoint}, consulte Regions y puntos de conexión.

    Body:

    {
    	"az_codes": ["cn-north-4a"],
    	"capacity": 2,
    	"engine": "Redis",
    	"engine_version": "5.0",
    	"name": "dcs-api-test",
    	"no_password_access": true,
    	"security_group_id": "1982d3a8-67a0-4fc9-a850-bc42a26ba2c0",
    	"spec_code": "redis.single.xu1.large.2",
    	"subnet_id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3",
    	"vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7"
    }
  • Ejemplo de respuesta
    {
    	"instances": [{
    		"instance_id": "21bc7b53-2494-4f10-bb0b-c0b913d9e329",
    		"instance_name": "dcs-api-test"
    	}]
    }

    Para obtener más información sobre los parámetros para crear una instancia de DCS Redis, consulte Creación de una instancia DCS.

Paso 5: Consultar el resultado de la creación

  • URI

    Formato URI: GET /v2/{project_id}/instances/{instance_id}

  • Solicitud de ejemplo

    GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances/21bc7b53-2494-4f10-bb0b-c0b913d9e329

    Para obtener el valor de {dcs_endpoint}, consulte Regions y puntos de conexión.

  • Ejemplo de respuesta
    {
    	"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
    }

    Si el estado de la instancia es RUNNING, la instancia se ha creado correctamente.