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.
Actualización más reciente 2022-11-09 GMT+08:00

Creación de una instancia DCS

Función

Esta API se utiliza para crear una instancia de DCS facturada en modo de pago por uso.

URI

POST /v1.0/{project_id}/instances

Tabla 1 describe el parámetro.
Tabla 1 Descripción del parámetro

Parámetro

Tipo

Obligatorio

Descripción

project_id

String

ID del proyecto. Para obtener más información sobre cómo obtener el valor de este parámetro, consulte Obtención de un ID de proyecto.

Solicitud

Parámetros de solicitud

Tabla 2 describe los parámetros de solicitud.

Tabla 2 Descripción del parámetro

Parámetro

Tipo

Obligatorio

Description

name

String

Nombre de instancia de DCS.

Un nombre de instancia puede contener letras, dígitos, guiones bajos (_), y guiones (-) y debe comenzar con una letra.

Cuando se crea una sola instancia a la vez, el valor de este parámetro puede contener entre 4 y 64 caracteres. Cuando crea más de una instancia a la vez, el valor de Name puede contener entre 4 y 56 caracteres. Estas instancias se nombran en el formato de "name-n", en el que n comienza desde 000 y se incrementa en 1. Por ejemplo, si crea dos instancias y establece name en dcs_demo, las dos instancias se denominan respectivamente como dcs_demo-000 y dcs_demo-001.

description

String

No

Breve descripción de la instancia DCS.

La descripción admite hasta 1024 caracteres.

NOTA:

La barra invertida (\) y las comillas () son caracteres especiales para los mensajes JSON. Cuando utilice estos caracteres en un valor de parámetro, agregue el carácter de escape (\) antes de los caracteres, por ejemplo, \\ y \".

engine

String

Motor de caché. Opciones: Redis o Memcached.

engine_version

String

Versión del motor de caché. Si el motor de caché es Redis, el valor puede ser 3.0, 4.0, or 5.0. Si el motor de caché es Memcached, este parámetro es opcional y puede dejarse en blanco.

capacity

Float

Capacidad de caché. Unidad: GB.

  • Redis 3.0: Para una instancia DCS de un solo nodo o maestro/en espera, el valor puede ser 2, 4, 8, 16, 32, or 64. Para una instancia DCS de clúster proxy, el valor puede ser 64, 128, 256, 512, o 1024.
  • Redis 4.0 o 5.0: Para una instancia DCS de un solo nodo o maestro/en espera, el valor puede ser 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, or 64. Para una instancia de DCS de clúster de Redis, el valor puede ser 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, or 1024.
  • Para una instancia de DCS Memcached de un solo nodo o maestro/en espera, el valor puede ser 2, 4, 8, 16, 32, or 64.

no_password_access

String

Un indicador de si se puede acceder a una instancia de DCS en modo sin contraseña.

  • true: indica que se puede acceder a una instancia de DCS sin una contraseña.
  • false: indica que solo se puede acceder a una instancia de DCS después de la autenticación de contraseña.

Valor predeterminado: false.

password

String

No

Contraseña de una instancia de DCS.

NOTA:

Si no_password_access se establece en false o no, la solicitud debe contener el parámetro password.

La contraseña de una instancia de DCS Redis debe cumplir los siguientes requisitos de complejidad:

  • Puede contener de 8 a 32 caracteres.
  • Debe ser diferente a la contraseña anterior.
  • Contiene al menos tres de los siguientes tipos de caracteres:
    • Letras en minúscula
    • Letras en mayúscula
    • dígitos
    • Personajes especiales (`~!@#$%^&*()-_=+\|[{}]:",<.>/?)

access_user

String

No

Si el motor de caché es Redis, no es necesario establecer este parámetro.

Si el motor de caché es Memcached, este parámetro solo está disponible cuando no_password_access se establece en false, lo que indica que necesita acceder a la instancia de DCS en modo de contraseña.

Un nombre de usuario puede contener de 1 a 64 caracteres, incluyendo letras, dígitos, guiones bajos (_), y guiones (-) y debe comenzar con una letra.

NOTA:
  • Este parámetro es opcional cuando el motor de caché es Memcached.
  • Si el motor de caché es Redis, no es necesario establecer este parámetro.

vpc_id

String

ID de VPC.

Obtenga el valor mediante uno de los métodos siguientes:

  • Método 1: Inicie sesión en la consola de VPC y vea el ID de VPC en los detalles de la VPC.
  • Método 2: Consultar el ID de VPC a través de la API de VPC. Para obtener más información, consulte Consulta de VPCs.

security_group_id

String

ID del grupo de seguridad al que pertenece la instancia.

Obtenga el valor mediante uno de los métodos siguientes:

  • Método 1: Inicie sesión en la consola de VPC. Seleccione Access Control > Security Groups en el panel de navegación de la izquierda. En la página mostrada, haga clic en el grupo de seguridad de destino. Puede ver el ID del grupo de seguridad en la página mostrada.
  • Método 2: llamar a la API para consultar grupos de seguridad. Para obtener más información, consulte Consulta de grupo de seguridad.

subnet_id

String

Yes

ID de red de la subred.

Obtenga el valor mediante uno de los métodos siguientes:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página de pestaña Subnets. Puede ver el ID de red en la página mostrada.
  • Método 2: llamar a la API para consultar subredes. Para obtener más información, consulte Consulta de subredes.

available_zones

Array

ID de la zona de disponibilidad donde reside el nodo de caché y que tiene recursos disponibles. Para obtener más información sobre cómo obtener el valor, consulte Consulta de información de zona de disponibilidad. Compruebe si el zona de disponibilidad tiene recursos disponibles.

Las instancias Master/Standby, Proxy Cluster y Redis Cluster DCS admiten la implementación entre AZ. Puede especificar un zona de disponibilidad para el nodo en espera. Al especificar Zonas de disponibilidad para nodos, use comas (,) para separar varias Zonas de disponibilidad. Para obtener más información, consulte la solicitud de ejemplo.

product_id

String

ID del producto que se puede crear. Para más detalles, consulte Consulta de especificaciones del servicio.

NOTA:

Cuando obtenga el ID de producto de las especificaciones del producto, asegúrese de que el modo de facturación especificado en el ID de producto sea el mismo que el modo de facturación seleccionado. Por ejemplo, para comprar una instancia maestra/en espera DCS Redis 3.0 facturada en modo de pago por uso, puede buscar el ID del producto correspondiente al registro cuyo charging_type es Hourly y spec_code es dcs.master_standby en el mensaje de respuesta.

instance_backup_policy

JSON

No

Política de copia de respaldo.

Este parámetro está disponible para instancias DCS de tipo principal/en standby y de clúster. Para obtener más información, consulte Tabla 4 y Tabla 5.

enable_publicip

Boolean

No

Un indicador de si se debe habilitar el acceso público para una instancia de DCS en Redis.

  • true: habilitar.
  • false: deshabilitar.

publicip_id

String

No

ID de la dirección IP elástica enlazada a una instancia de DCS en Redis.

Este parámetro es obligatorio si el acceso público está habilitado (es decir, enable_publicip se establece en true).

enable_ssl

Boolean

No

Un indicador de si se debe habilitar SSL para el acceso público a una instancia de DCS en Redis.

  • true: habilitar.
  • false: deshabilitar.

maintain_begin

String

No

Hora en la que comienza la ventana de tiempo de mantenimiento.

Formato: HH:mm:ss.

  • La hora de inicio y la hora de finalización de la ventana de tiempo de mantenimiento deben indicar el segmento de tiempo de una ventana de tiempo de mantenimiento soportada. Para obtener detalles sobre cómo consultar los segmentos de tiempo de las ventanas de tiempo de mantenimiento compatibles, consulte Consulta de ventana de tiempo de mantenimiento.
  • La hora de inicio debe establecerse en 22:00:00, 02:00:00, 06:00:00, 10:00:00, 14:00:00, o 18:00:00.
  • Los parámetros maintain_begin y maintain_end deben establecerse en pares. Si el parámetro maintain_start se deja en blanco, el parámetro maintain_end también estará en blanco. En este caso, el sistema establece automáticamente la hora de inicio en 02:00:00.

maintain_end

String

No

Tiempo en el que finaliza la ventana de tiempo de mantenimiento.

Formato: HH:mm:ss.

  • La hora de inicio y la hora de finalización de la ventana de tiempo de mantenimiento deben indicar el segmento de tiempo de una ventana de tiempo de mantenimiento soportada. Para obtener detalles sobre cómo consultar los segmentos de tiempo de las ventanas de tiempo de mantenimiento compatibles, consulte Consulta de ventana de tiempo de mantenimiento.
  • La hora de finalización es cuatro horas más tarde que la hora de inicio. Por ejemplo, si la hora de inicio es 22:00:00, la hora de finalización es 02:00:00.
  • Los parámetros maintain_begin y maintain_end deben establecerse en pares. Si el parámetro maintain_end se deja en blanco, el parámetro maintain_start también estará en blanco. En este caso, el sistema establece automáticamente la hora de finalización en 06:00:00.

enterprise_project_id

String

No

ID del proyecto de empresa.

enterprise_project_name

String

No

Nombre del proyecto de empresa.

instance_num

Integer

No

Número de instancias que se crearán en lotes. Este parámetro está disponible para las instancias DCS en Redis y Memcached.

Valor predeterminado: 1.

Rango de valores: 1–100.

private_ip

String

No

Dirección IP especificada manualmente para una instancia de DCS. Este parámetro está disponible para las instancias DCS en Redis y Memcached.

tags

Array of objects

No

Clave y valor de la etiqueta de instancia. Para más detalles, consulte Tabla 3.

port

Integer

No

Personalización de puertos, que solo son compatibles con las instancias Redis 4.0 y Redis 5.0 y no con las instancias Redis 3.0 y Memcached.

Si este parámetro no se envía o se deja vacío al crear una instancia de Redis 4.0 o 5.0, se utilizará el puerto predeterminado 6379. Para personalizar un puerto, especifique un número de puerto en el rango de 1 a 65535.

rename_commands

JSON

No

Renombramiento crítico de comandos, que solo es compatible con las instancias Redis 4.0 y Redis 5.0 y no con las instancias Redis 3.0 y Memcached.

Si este parámetro no se envía o se deja vacío al crear una instancia de Redis 4.0 o 5.0, no se cambiará el nombre de ningún comando crítico. Actualmente, solo se pueden renombrar los comandos COMMAND, KEYS, FLUSHDB, FLUSHALL, y HGETALL.

Tabla 3 parámetros de etiquetas

Parámetro

Obligatorio

Tipo

Descripción

key

No

String

Clave de etiqueta, que

  • No se puede dejar en blanco.
  • Debe ser único.
  • Puede contener un máximo de 36 caracteres.

value

No

String

Valor de la etiqueta, que

  • Es obligatorio cuando action se establece para create y opcional cuando action se establece para delete.
  • Puede contener un máximo de 43 caracteres.
Tabla 4 descripción de parámetro de instance_backup_policy

Parámetro

Tipo

Obligatorio

Descripción

save_days

Integer

No

Este parámetro es obligatorio cuando backup_type se establece en manual.

Periodo de retención.

Unidad: día.

Rango de valores: 1-7.

backup_type

String

No

Tipo de copia de respaldo.

Opciones:

  • auto: copia de respaldo automática.
  • manual: copia de respaldo manual.

El valor predeterminado es manual.

periodical_backup_plan

JSON

Plan de respaldo. Para más detalles, consulte Tabla 5.

Tabla 5 descripción de parámetro de periodical_backup_plan

Parámetro

Tipo

Obligatorio

Descripción

begin_at

String

Hora en la que se inicia la copia de respaldo.

"00:00-01:00" indica que la copia de respaldo comienza a las 00:00:00.

period_type

String

Intervalo en el que se realiza la copia de respaldo.

Actualmente, solo se admite la copia de respaldo semanal.

backup_at

Array

Día en una semana en el que comienza la copia de respaldo.

Rango de valores: 1–7, donde 1 indica lunes y 7 indica domingo.

timezone_offset

String

No

Zona horaria en la que se realiza la copia de respaldo.

Rango de valores: GMT–12:00 a GMT+12:00. Si este parámetro se deja en blanco, la zona horaria actual de la máquina virtual DCS-Server se utiliza de forma predeterminada.

Solicitud de ejemplo

URL de solicitud:

POST https://{dcs_endpoint}/v1.0/{project_id}/instances
  • Ejemplo:
    Creación de una instancia de DCS en Redis
    {
        "name": "dcs-APITest",
        "description": "Test",
        "engine": "Redis",
        "engine_version": "3.0",
        "capacity": 2,
        "enterprise_project_id": "0",
        "enterprise_project_name": "default",
        "no_password_access": false,
        "access_user": "",
        "password": "********",
        "vpc_id": "0402ea19-5457-4032-9d1b-eb48b98f6c66",
        "security_group_id": "4b95a790-5cfc-463d-8de5-42199e55371c",
        "subnet_id": "a3bd29e4-d5bc-414c-a79a-1f35ee4ead88",
        "available_zones": [
            "12c47a78666b4e438cd0c692b9860387"
        ],
        "maintain_begin": "02:00",
        "maintain_end": "06:00",
        "product_id": "dcs.master_standby-h",
        "enable_publicip": false,
        "publicip_id": "",
        "enable_ssl": false,
        "private_ip": "",
        "instance_num": 1
    }
  • Ejemplo:

    Creación de una instancia DCS Redis de pago por uso, maestro/en espera con etiquetas, un puerto personalizado, comandos renombrados e implementación cruzada de AZ

    {
    	"name": "dcs-demo",
    	"engine": "Redis",
    	"engine_version": "4.0",
    	"capacity": 2,
    	"no_password_access": true,
    	"vpc_id": "c5cd009b-9ba9-41f2-9a26-2b8c3f3ffd39",
    	"subnet_id": "7e95c4d6-d7af-424c-a3cf-2be10968fe81",
    	"product_id": "redis.ha.au1.large.2-h",
    	"available_zones": ["ae04cf9d61544df3806a3feeb401b204",	"d573142f24894ef3bd3664de068b44b0"],
    	"security_group_id": "d57fad27-e3e9-43b7-9498-0a698ab63b27",
    	"port": "4040",
            "rename_commands": 
             {
               "keys":"keys001",
               "flushdb":"flushdb001",
               "flushall":"flushall001"
             },
    	"tags": [{
    	"key": "dcs001",
    	"value": "002"
    },
    {
    	"key": "dcs003",
    	"value": "004"
    }]
    }
  • Ejemplo:

    Creación de una instancia maestra/en espera de DCS Memcached con políticas de copia de respaldo

    {
        "name": "dcs-a11b",
        "description": "Create a instance",
        "engine": "Memcached",
        "engine_version": "",
        "capacity": 2,
        "password": "XXXXXX",
        "vpc_id": "27d99e17-42f2-4751-818f-5c8c6c03ff16",
        "security_group_id": "1477393a-29c9-4de5-843f-18ef51257c8e",
        "subnet_id": "ec2f34b9-20eb-4872-85bd-bea9fc943129",
        "available_zones": [
            "1d7b939b382c4c3bb3481a8ca10da769"
        ],
        "product_id": "XXXXXX",
        "instance_backup_policy": {
            "save_days": 1,
            "backup_type": "auto",
            "periodical_backup_plan": {
                "begin_at": "00:00-01:00",
                "period_type": "weekly",
                "backup_at": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7
                ]
            }
        },
        "maintain_begin": "22:00:00",
        "maintain_end": "02:00:00",
        "no_password_access": "true",
        "access_user": "",
        "timezone_offset":""
    }

Respuesta

Parámetros de respuesta

Tabla 6 describe los parámetros de respuesta.
Tabla 6 Descripción del parámetro

Parámetro

Tipo

Descripción

instance_id

String

ID de instancia de DCS.

Si las instancias se crean en lotes, se devuelven varios ID de instancia, que están separados por comas (,).

NOTA:

Este parámetro se utiliza para la compatibilidad con versiones anteriores. Los ID de instancia enumerados en este parámetro son coherentes con las instancias enumeradas en las instances.

instances

JSON

Lista de instancias de DCS. Para más detalles, consulte Tabla 7.

Tabla 7 Descripción del parámetro de la matriz de instancias

Parámetro

Tipo

Descripción

instance_id

String

ID de instancia de DCS.

instance_name

String

Nombre de instancia de DCS.

{
    "instances": [
        {
            "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f",
            "instance_name": "dcs-test005"
        }
    ],
    "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f"
}

Código de estado

Tabla 8 describe el código de estado de las operaciones exitosas. Para obtener más información sobre otros códigos de estado, consulte Tabla 1.

Tabla 8 Código de estado

Código de estado

Descripción

200

Se ha creado una instancia de DCS correctamente.