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 que se factura en modo de pago por uso.

URI

POST /v2/{project_id}/instances

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Parámetros de solicitud

Tabla 2 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de instancia.

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 se crean varias instancias a la vez, el valor de este parámetro puede contener entre 4 y 56 caracteres. Las instancias se nombran en el formato custom name-n, donde n comienza en 000 y se incrementa en 1. Por ejemplo, si crea dos instancias y establece el nombre personalizado en dcs_demo, las dos instancias se denominan respectivamente dcs_demo-000 y dcs_demo-001.

engine

String

Motor de caché. El valor puede ser Redis o Memcached.

engine_version

No

String

Versión de caché.

Si el motor de caché es Redis, el valor puede ser 4.0 o 5.0.

Si el motor de caché es Memcached, este parámetro es opcional y puede dejarse en blanco.

capacity

Yes

Float

Capacidad de caché (GB).

  • Para una instancia DCS Redis 4.0 o 5.0 de nodo único 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 Redis Cluster DCS Redis 4.0 o 5.0, el valor puede ser 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, o 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.

spec_code

String

Variante del producto. El método de consulta es el siguiente:

az_codes

Array of strings

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

Las instancias Master/Standby, Proxy Cluster y Redis Cluster DCS admiten la implementación entre zona de disponibilidad. 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.

vpc_id

String

ID de VPC.

Puede obtener el valor de cualquiera de las siguientes maneras:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en el nombre de una VPC para ver el ID de VPC en la página de detalles que se muestra.
  • Método 2: llama a la API utilizada para consultar las VPC. Para obtener más información, consulte Consulta de VPCs.

subnet_id

String

ID de red de subred.

Puede obtener el valor de cualquiera de las siguientes maneras:

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

security_group_id

No

String

ID del grupo de seguridad al que pertenece la instancia.

Este parámetro es obligatorio cuando el engine es Redis y engine_version es 3.0, o cuando el engine es para Memcached. Las instancias DCS Redis 3.0 y Memcached admiten el control de acceso de grupos de seguridad.

Este parámetro es opcional cuando el engine es Redis y engine_version es 4.0 or 5.0. Las instancias de DCS Redis 4.0 y 5.0 no admiten el control de acceso de grupo de seguridad. Solo admiten el control de acceso basado en listas blancas.

Puede obtener el valor de cualquiera de las siguientes maneras:

  • Método 1: Inicie sesión en la consola de VPC. Elija Access Control > Security Groups en el panel de navegación. En la página Security Groups, 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: llama a la API utilizada para consultar los detalles del grupo de seguridad. Para obtener más información, consulte Consulta de detalles del grupo de seguridad.

publicip_id

No

String

ID del EIP enlazado a la instancia de DCS Redis.

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

Predeterminado: false

enterprise_project_id

No

String

ID del proyecto de empresa.

enterprise_project_name

No

String

Nombre de un proyecto de empresa.

description

No

String

Descripción de la instancia.

La descripción puede contener un máximo de 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 \".

enable_ssl

No

Boolean

Si se habilita SSL para el acceso público a una instancia de DCS Redis.

  • true: habilitar
  • false: deshabilitar

private_ip

No

String

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

instance_num

No

Integer

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

Valor predeterminado: 1

Rango de valores: 1-100

Predeterminado: 1

maintain_begin

No

String

Hora UTC cuando comienza la ventana de tiempo de mantenimiento. El formato es 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 más detalles, consulte Listado de tiempo de mantenimiento de Windows.
  • 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.
  • La hora de inicio y la hora de finalización deben establecerse en pares. Si la hora de inicio se deja en blanco, la hora de finalización también debe dejarse en blanco. En este caso, el sistema establece automáticamente la hora de inicio en 02:00:00.

maintain_end

No

String

Hora UTC cuando finaliza la ventana de tiempo de mantenimiento. El formato es 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 más detalles, consulte Listado de tiempo de mantenimiento de Windows.
  • 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.
  • La hora de inicio y la hora de finalización deben establecerse en pares. Si la hora de finalización se deja en blanco, la hora de inicio también se deja en blanco. En este caso, el sistema establece automáticamente la hora de finalización en 06:00:00.

password

No

String

Información de autenticación de instancia de DCS.

NOTA:

Cuando no_password_access se establece en false o no se especifica, 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 tener de 8 a 32 caracteres.
  • La contraseña nueva debe ser distinta de la contraseña anterior.
  • Contiene al menos tres de los siguientes tipos de caracteres:
    • Letras en minúscula
    • Letras en mayúscula
    • Dígitos
    • carácter especiales (`~!@#$%^&*()-_=+\|[{}]:",<.>/?)

no_password_access

No

Boolean

Si se puede acceder a la instancia sin contraseña.

  • true: Se puede acceder a la instancia sin una contraseña.
  • false: se puede acceder a la instancia solo después de la autenticación de contraseña. Si este parámetro no está definido, se utiliza el valor predeterminado false.

Predeterminado: false

instance_backup_policy

No

BackupPolicy object

Política de copia de respaldo. Este parámetro se admite cuando el tipo de instancia es maestro/en espera o clúster.

tags

No

Array of ResourceTag objects

Clave y valor de la etiqueta de instancia.

access_user

No

String

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

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

Un nombre de instancia comienza con una letra, consta de 1 a 64 caracteres y solo puede contener letras, dígitos, (_), de guiones bajos y (-) de guiones.

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

enable_publicip

No

Boolean

Si se habilita el acceso a la red pública para la instancia de DCS Redis.

  • true: habilitar
  • false: deshabilitar

Predeterminado: false

port

No

Integer

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

No

Object

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 BackupPolicy

Parámetro

Obligatorio

Tipo

Descripción

backup_type

String

Tipo de copia de respaldo.

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

save_days

No

Integer

Este parámetro es obligatorio cuando backup_type se establece en auto. Período de retención, en días. Los valores varían de 1 a 7.

periodical_backup_plan

No

BackupPlan object

Programa de copia de respaldo. Este parámetro es obligatorio cuando backup_type se establece en auto.

Tabla 4 BackupPlan

Parámetro

Obligatorio

Tipo

Descripción

timezone_offset

No

String

Zona horaria en la que se realiza la copia de respaldo. Rango: 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.

backup_at

Array of integers

Día en una semana en el que comienza la copia de respaldo. El valor varía de 1 a 7, donde 1 indica lunes y 7 indica domingo.

period_type

String

Intervalo en el que se realiza la copia de respaldo, que solo admite weekly actualmente.

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.

Tabla 5 ResourceTag

Parámetro

Obligatorio

Tipo

Descripción

key

String

Clave de etiqueta.

  • Este campo es obligatorio.
  • El valor clave de un recurso debe ser único.
  • La clave de la etiqueta puede incluir, como máximo, 36 caracteres.
  • La clave de etiqueta debe ser única y no puede estar vacía.

value

No

String

Valor de la etiqueta.

  • Este parámetro es obligatorio cuando action se establece para create y es opcional cuando action se establece para delete.
  • El valor de la etiqueta puede incluir, como máximo, 43 caracteres.

Parámetros de respuesta

Código de estado: 200

Tabla 6 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

instances

Array of Instances objects

ID y nombre de instancia de DCS. Si se crean varias instancias DCS a la vez, se devolverán varios ID y nombres de instancia DCS.

Tabla 7 Instances

Parámetro

Tipo

Descripción

instance_id

String

ID de instancia de DCS.

instance_name

String

Nombre de instancia de DCS.

Código de estado: 400

Tabla 8 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_msg

String

Mensaje de error.

Máximo: 1024

error_code

String

Código de error.

Máximo: 9

error_ext_msg

String

Información de error extendida. Este parámetro no se utiliza actualmente y se establece en null.

Máximo: 1024

Código de estado: 401

Tabla 9 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_msg

String

Mensaje de error.

Máximo: 1024

error_code

String

Código de error.

Máximo: 9

error_ext_msg

String

Información de error extendida. Este parámetro no se utiliza actualmente y se establece en null.

Máximo: 1024

Código de estado: 403

Tabla 10 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_msg

String

Mensaje de error.

Máximo: 1024

error_code

String

Código de error.

Máximo: 9

error_ext_msg

String

Información de error extendida. Este parámetro no se utiliza actualmente y se establece en null.

Máximo: 1024

Código de estado: 404

Tabla 11 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_msg

String

Mensaje de error.

Máximo: 1024

error_code

String

Código de error.

Máximo: 9

error_ext_msg

String

Información de error extendida. Este parámetro no se utiliza actualmente y se establece en null.

Máximo: 1024

Código de estado: 500

Tabla 12 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_msg

String

Mensaje de error.

Máximo: 1024

error_code

String

Código de error.

Máximo: 9

error_ext_msg

String

Información de error extendida. Este parámetro no se utiliza actualmente y se establece en null.

Máximo: 1024

Solicitudes de ejemplo

  • Creación de una instancia de DCS Redis
    POST https://{dcs_endpoint}/v2/{project_id}/instances
    
    {
      "name" : "dcs-APITest",
      "description" : "Test",
      "engine" : "Redis",
      "engine_version" : 5.0,
      "enterprise_project_id" : 0,
      "enterprise_project_name" : "default",
      "vpc_id" : "5e37b3be-950a-48e1-b498-65b63d336481",
      "security_group_id" : "securityGroupId",
      "enable_ssl" : false,
      "private_ip" : "",
      "az_codes" : [ "xxxxxx" ],
      "capacity" : 2,
      "access_user" : "",
      "instance_num" : 1,
      "maintain_begin" : "02:00:00",
      "maintain_end\"" : "06:00:00",
      "password" : "********",
      "enable_publicip" : false,
      "spec_code" : "redis.single.xu1.tiny.128",
      "subnet_id" : "a3bd29e4-d5bc-414c-a79a-1f35ee4ead88",
      "no_password_access" : false
    }
  • 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
    {
      "enterprise_project_name" : "default",
      "vpc_id" : "c5cd009b-9ba9-41f2-9a26-2b8c3f3ffd39",
      "description" : "Test",
      "security_group_id" : "d57fad27-e3e9-43b7-9498-0a698ab63b27",
      "port" : 4040,
      "maintain_end\"" : "06:00:00",
      "enable_ssl" : false,
      "private_ip" : "",
      "az_codes" : [ "xxxxxx", "xxxxxxx" ],
      "capacity" : 2,
      "access_user" : "",
      "instance_num" : 1,
      "maintain_begin" : "02:00:00",
      "enterprise_project_id" : 0,
      "password" : "********",
      "enable_publicip" : false,
      "engine" : "Redis",
      "spec_code" : "redis.ha.au1.large.2",
      "name" : "dcs-demo",
      "subnet_id" : "7e95c4d6-d7af-424c-a3cf-2be10968fe81",
      "engine_version" : 4.0,
      "no_password_access" : true,
      "rename_commands" : {
        "keys" : "keys001",
        "flushdb" : "flushdb001",
        "flushall" : "flushall001"
      },
      "tags" : [ {
        "key" : "dcs001",
        "value" : 2
      }, {
        "key" : "dcs003",
        "value" : 4
      } ]
    }
  • Creación de una instancia maestra/en espera de DCS Memcached con políticas de copia de respaldo
    {
      "publicip_id" : "",
      "enterprise_project_name" : "default",
      "vpc_id" : "0402ea19-5457-4032-9d1b-eb48b98f6c66",
      "description" : "Test",
      "security_group_id" : "4b95a790-5cfc-463d-8de5-42199e55371c",
      "maintain_end\"" : "06:00",
      "enable_ssl" : false,
      "private_ip" : "",
      "az_codes" : [ "xxxxxx" ],
      "capacity" : 2,
      "access_user" : "",
      "instance_num" : 1,
      "maintain_begin" : "02:00:00",
      "enterprise_project_id" : 0,
      "password" : "********",
      "enable_publicip" : false,
      "engine" : "Memcached",
      "spec_code" : "dcs.memcached.single_node",
      "name" : "dcs-APITest",
      "subnet_id" : "a3bd29e4-d5bc-414c-a79a-1f35ee4ead88",
      "engine_version" : 3.0,
      "no_password_access" : false,
      "instance_backup_policy" : {
        "save_days" : 1,
        "backup_type" : "auto",
        "periodical_backup_plan" : {
          "begin_at" : "16:00-17:00",
          "period_type" : "weekly",
          "backup_at" : [ 1, 2, 3, 4, 5, 6, 7 ],
          "timezone_offset" : "+0800"
        }
      }
    }

Ejemplo de respuestas

Código de estado: 200

La tarea de creación de instancia de DCS se envía correctamente.

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

  • Ejemplo 1
    {
      "instances" : [ {
        "instance_id" : "3c49fd6b-fc7c-419e-9644-b6cce008653f",
        "instance_name" : "dcs-test005"
      } ]
    }
  • Example 2
    {
      "instances" : [ {
        "instance_id" : "77284d69-cd51-4bf1-aa30-2e60f055800c",
        "instance_name" : "dcs-APITest1"
      } ]
    }

Código de estado: 400

Solicitud no válida.

{
  "error_code" : "DCS.1004",
  "error_msg" : "Project ID does not match the token."
}

Código de estado: 401

Información de autenticación no válida.

{
  "error_code" : "DCS.1001",
  "error_msg" : "Invalid token."
}

Código de estado: 403

La solicitud se rechaza.

{
  "error_code" : "DCS.2003",
  "error_msg" : "This role does not have the permission to perform this operation."
}

Código de estado: 404

La página solicitada no se encuentra.

{
  "error_code" : "DCS.4001",
  "error_msg" : "The requested URL does not exist."
}

Código de estado: 500

Error interno del servicio.

{
  "error_code" : "DCS.5000",
  "error_msg" : "Internal service error."
}

Códigos de estado

Código de estado

Descripción

200

La tarea de creación de instancia de DCS se envía correctamente.

NOTA:

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

400

Solicitud no válida.

401

Información de autenticación no válida.

403

La solicitud se rechaza.

404

La página solicitada no se encuentra.

500

Error interno del servicio.

Códigos de error

Consulte Códigos de error.