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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
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).
|
spec_code |
Sí |
String |
Variante del producto. El método de consulta es el siguiente:
|
az_codes |
Sí |
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 |
Sí |
String |
ID de VPC. Puede obtener el valor de cualquiera de las siguientes maneras:
|
subnet_id |
Sí |
String |
ID de red de subred. Puede obtener el valor de cualquiera de las siguientes maneras:
|
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:
|
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.
|
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.
|
maintain_end |
No |
String |
Hora UTC cuando finaliza la ventana de tiempo de mantenimiento. El formato es HH:mm:ss.
|
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:
|
no_password_access |
No |
Boolean |
Si se puede acceder a la instancia sin contraseña.
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.
|
enable_publicip |
No |
Boolean |
Si se habilita el acceso a la red pública para la instancia de DCS Redis.
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
backup_type |
Sí |
String |
Tipo de copia de respaldo.
|
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. |
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 |
Sí |
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 |
Sí |
String |
Intervalo en el que se realiza la copia de respaldo, que solo admite weekly actualmente. |
begin_at |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
Clave de etiqueta.
|
value |
No |
String |
Valor de la etiqueta.
|
Parámetros de respuesta
Código de estado: 200
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. |
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
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
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
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
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
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.
![](https://support.huaweicloud.com/intl/es-us/api-dcs/public_sys-resources/note_3.0-es-es.png)
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.