Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-09 GMT+08:00

Criação de uma instância de DCS

Função

Essa API é usada para criar uma instância de DCS que é faturada no modo de pagamento por uso.

URI

POST /v2/{project_id}/instances

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto.

Parâmetros de solicitação

Tabela 2 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome da instância.

Um nome de ocorrência pode conter letras, dígitos, sublinhados (_), e hífens (-) e deve começar com uma letra.

Quando você cria apenas uma instância por vez, o valor desse parâmetro pode conter de 4 a 64 caracteres. Quando você cria várias instâncias ao mesmo tempo, o valor desse parâmetro pode conter de 4 a 56 caracteres. As instâncias são nomeadas no formato de custom name-n, em que n começa em 000 e é incrementado em 1. Por exemplo, se você criar duas instâncias e definir o nome personalizado para dcs_demo, as duas instâncias serão denominadas respectivamente dcs_demo-000 e dcs_demo-001.

engine

Sim

String

Mecanismo de cache. O valor pode ser Redis ou Memcached.

engine_version

Não

String

Versão cache.

Se o mecanismo de cache for Redis, o valor poderá ser 4.0, ou 5.0.

Se o mecanismo de cache for Memcached, esse parâmetro é opcional e pode ser deixado em branco.

capacity

Sim

Float

Capacidade de cache (GB).

  • Para uma instância do DCS Redis 4.0 ou 5.0 de nó único ou principal/em espera, o valor pode ser 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, ou 64. Para uma instância do Cluster do Redis DCS Redis 4.0 ou 5.0, o valor pode ser 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, ou 1024.
  • Para uma instância de Memcached DCS de nó único ou principal/em espera, o valor pode ser 2, 4, 8, 16, 32, ou 64.

spec_code

Sim

String

Variante de produto. O método de consulta é o seguinte:

az_codes

Sim

Array of strings

ID da AZ onde o nó de cache reside e que tem recursos disponíveis. Para obter detalhes, consulte Consulta das AZ. Verifique se a AZ desejada tem recursos disponíveis.

As instâncias de DCS de cluster principal/em espera, de proxy e de cluster do Redis oferecem suporte à implantação entre as AZ. Você pode especificar uma AZ para o nó em espera. Ao especificar as AZ para nós, use (,) de vírgulas para separar várias AZ. Para obter detalhes, consulte a solicitação de exemplo.

vpc_id

Sim

String

ID de VPC

Você pode obter o valor de uma das seguintes maneiras:

  • Método 1: Faça login no console da VPC e clique no nome de uma VPC para exibir o ID da VPC na página de detalhes exibida.
  • Método 2: Chame a API usada para consultar as VPC. Para obter detalhes, consulte Consulta das VPC.

subnet_id

Sim

String

ID da rede de sub-rede.

Você pode obter o valor de uma das seguintes maneiras:

  • Método 1: Faça login no console da VPC e clique na sub-rede de destino na página Subnets. Você pode visualizar o ID da rede na página exibida.
  • Método 2: Chame a API usada para consultar sub-redes. Para obter detalhes, consulte Consulta de sub-redes.

security_group_id

Não

String

ID do grupo de segurança ao qual a instância pertence.

Este parâmetro é obrigatório quando o engine é Redis e engine_version é 3.0, ou quando o engine é Memcached. As instâncias do DCS Redis 3.0 e do Memcached oferecem suporte ao controle de acesso do grupo de segurança.

Esse parâmetro é opcional quando o engine é Redis e engine_version é 4.0 ou 5.0. As instâncias do DCS Redis 4.0 e 5.0 não são compatíveis com o controle de acesso do grupo de segurança. Eles suportam apenas o controle de acesso baseado em whitelist.

Você pode obter o valor de uma das seguintes maneiras:

  • Método 1: Faça login no console da VPC. Escolha Access Control > Security Groups no painel de navegação. Na página Security Groups, clique no grupo de segurança de destino. Você pode exibir o ID do grupo de segurança na página exibida.
  • Método 2: Chame a API usada para consultar detalhes do grupo de segurança. Para obter detalhes, consulte Consulta de detalhes do grupo de segurança.

publicip_id

Não

String

ID do EIP vinculado à instância do DCS Redis.

Esse parâmetro é obrigatório se o acesso público estiver habilitado (ou seja, enable_publicip estiver definido como true).

Padrão: false

enterprise_project_id

Não

String

ID do projeto empresarial.

enterprise_project_name

Não

String

Nome de um projeto empresarial.

description

Não

String

Descrição da instância.

A descrição pode conter um máximo de 1024 caracteres.

NOTA:

A barra invertida (\) e aspas (") são caracteres especiais para mensagens JSON. Ao usar esses caracteres em um valor de parâmetro, adicione o caractere de escape (\) antes dos caracteres, por exemplo, \\ e \”.

enable_ssl

Não

Boolean

Habilitar o SSL para acesso público a uma instância do DCS Redis.

  • true: ativar
  • false: desativar

private_ip

Não

String

Endereço IP especificado manualmente para uma instância de DCS. Esse parâmetro está disponível para instâncias do DCS Redis e Memcached.

instance_num

Não

Integer

Número de instâncias a serem criadas em lotes. Esse parâmetro está disponível para instâncias do DCS Redis e Memcached.

Valor padrão: 1

Faixa de valor: 1–100

Padrão: 1

maintain_begin

Não

String

Hora UTC quando a janela de tempo de manutenção é iniciada. O formato é HH:mm:ss.

  • A hora de início e a hora de término da janela de tempo de manutenção devem indicar o segmento de tempo de uma janela de tempo de manutenção suportada. Para mais detalhes, consulte Listagem de janelas de tempo de manutenção.
  • A hora de início deve ser definida para 22:00:00, 02:00:00, 06:00:00, 10:00:00, 14:00:00 ou 18:00:00:00.
  • A hora de início e a hora de término devem ser definidas em pares. Se a hora de início for deixada em branco, a hora de término também deve ser deixada em branco. Neste caso, o sistema define automaticamente a hora de início para 02:00:00.

maintain_end

Não

String

Hora UTC quando a janela de tempo de manutenção termina. O formato é HH:mm:ss.

  • A hora de início e a hora de término da janela de tempo de manutenção devem indicar o segmento de tempo de uma janela de tempo de manutenção suportada. Para mais detalhes, consulte Listagem de janelas de tempo de manutenção.
  • A hora final é quatro horas mais tarde do que a hora de início. Por exemplo, se a hora de início for 22:00:00, a hora de término será 02:00:00.
  • A hora de início e a hora de término devem ser definidas em pares. Se a hora de término for deixada em branco, a hora de início também será deixada em branco. Nesse caso, o sistema define automaticamente a hora de término para 06:00:00.

password

Não

String

Informações de autenticação da instância DCS.

NOTA:

Quando no_password_access é definido como false ou não especificado, a solicitação deve conter o parâmetro password. A senha de uma instância do DCS Redis deve atender aos seguintes requisitos de complexidade:

  • Pode ter de 8 a 32 caracteres.
  • A nova senha deve ser diferente da senha antiga.
  • Contém pelo menos três dos seguintes tipos de caracteres:
    • Letras minúsculas
    • Letras maiúsculas
    • Dígitos
    • Caracteres especiais `~!@#$%^&*()-_=+\|[{}]:'"",<.>/?

no_password_access

Não

Boolean

Se a instância pode ser acessada sem uma senha.

  • true: A instância pode ser acessada sem uma senha.
  • false: A instância pode ser acessada somente após a autenticação de senha. Se este parâmetro não for definido, o valor padrão false será usado.

Padrão: false

instance_backup_policy

Não

BackupPolicy object

Política de backup. Este parâmetro é suportado quando o tipo de instância é principal/em espera ou cluster.

tags

Não

Array of ResourceTag objects

Chave e valor da tag de instância.

access_user

Não

String

Se o mecanismo de cache for o Redis, não será necessário definir esse parâmetro.

Se o mecanismo de cache for Memcached e no_password_access estiver definido como false, esse parâmetro será necessário, indicando que você precisa acessar a instância do DCS no modo de senha.

Um nome de ocorrência começa com uma letra, consiste de 1 a 64 caracteres e pode conter apenas letras, dígitos, (_), de sublinhado e hífens (-).

  • Este parâmetro é opcional se o mecanismo de cache for Memcached.
  • Se o mecanismo de cache for o Redis, não será necessário definir esse parâmetro.

enable_publicip

Não

Boolean

Se habilitar o acesso à rede pública para a instância do DCS Redis.

  • true: ativar
  • false: desativar

Padrão: false

port

Não

Integer

Personalização de portas, que é suportada apenas pelas instâncias do Redis 4.0 e do Redis 5.0 e não pelas instâncias do Redis 3.0 e do Memcached.

Se esse parâmetro não for enviado ou for deixado vazio quando você criar uma instância do Redis 4.0 ou 5.0, a porta padrão 6379 será usada. Para personalizar uma porta, especifique um número de porta no intervalo de 1 a 65535.

rename_commands

Não

Object

Renomeação crítica de comando, que é suportada apenas pelas instâncias do Redis 4.0 e do Redis 5.0 e não pelas instâncias do Redis 3.0 e do Memcached.

Se esse parâmetro não for enviado ou for deixado vazio quando você criar uma instância do Redis 4.0 ou 5.0, nenhum comando crítico será renomeado. Atualmente, somente COMMAND, KEYS, FLUSHDB, FLUSHALL e HGETALL podem ser renomeados.

Tabela 3 BackupPolicy

Parâmetro

Obrigatório

Tipo

Descrição

backup_type

Sim

String

Tipo de backup.

  • auto: backup automático
  • manual: backup manual

save_days

Não

Integer

Este parâmetro é obrigatório quando backup_type é definido como auto. Período de retenção, em dias. O valor varia de 1 a 7.

periodical_backup_plan

Não

BackupPlan object

Agendamento de backup. Este parâmetro é obrigatório quando backup_type é definido como auto.

Tabela 4 BackupPlan

Parâmetro

Obrigatório

Tipo

Descrição

timezone_offset

Não

String

Fuso horário em que o backup é realizado. Faixa: GMT –12:00 às +12:00 GMT. Se este parâmetro for deixado em branco, o fuso horário atual da VM do servidor DCS é usado por padrão.

backup_at

Sim

Array of integers

Dia em uma semana em que o backup começa. O valor varia de 1 a 7, onde 1 indica segunda-feira e 7 indica domingo.

period_type

Sim

String

Intervalo em que o backup é executado, que suporta apenas weekly atualmente.

begin_at

Sim

String

Hora em que o backup começa. 00:00-01:00 indica que o backup começa às 00:00.

Tabela 5 ResourceTag

Parâmetro

Obrigatório

Tipo

Descrição

key

Sim

String

Chave da tag.

  • Este campo não pode ser deixado em branco.
  • O valor-chave de um recurso deve ser exclusivo.
  • A chave de tag pode conter no máximo 36 caracteres.
  • A chave da tag deve ser única e não pode estar vazia.

value

Não

String

Valor da tag.

  • Este parâmetro é obrigatório quando a action é definida para create e é opcional quando a action é definida para delete.
  • O valor da tag pode conter no máximo 43 caracteres.

Parâmetros de resposta

Código de estado: 200

Tabela 6 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

instances

Array of Instances objects

ID e nome da instância do DCS. Se várias instâncias de DCS forem criadas ao mesmo tempo, vários ID e nomes de instâncias de DCS serão retornados.

Tabela 7 Instâncias

Parâmetro

Tipo

Descrição

instance_id

String

ID da instância do DCS.

instance_name

String

Nome da instância do DCS.

Código de estado: 400

Tabela 8 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_msg

String

Mensagem de erro.

Máximo: 1024

error_code

String

Código de erro.

Máximo: 9

error_ext_msg

String

Informações de erro estendidas. Este parâmetro não é usado atualmente e está definido como nulo.

Máximo: 1024

Código de estado: 401

Tabela 9 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_msg

String

Mensagem de erro.

Máximo: 1024

error_code

String

Código de erro.

Máximo: 9

error_ext_msg

String

Informações de erro estendidas. Este parâmetro não é usado atualmente e está definido como nulo.

Máximo: 1024

Código de estado: 403

Tabela 10 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_msg

String

Mensagem de erro.

Máximo: 1024

error_code

String

Código de erro.

Máximo: 9

error_ext_msg

String

Informações de erro estendidas. Este parâmetro não é usado atualmente e está definido como nulo.

Máximo: 1024

Código de estado: 404

Tabela 11 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_msg

String

Mensagem de erro.

Máximo: 1024

error_code

String

Código de erro.

Máximo: 9

error_ext_msg

String

Informações de erro estendidas. Este parâmetro não é usado atualmente e está definido como nulo.

Máximo: 1024

Código de estado: 500

Tabela 12 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_msg

String

Mensagem de erro.

Máximo: 1024

error_code

String

Código de erro.

Máximo: 9

error_ext_msg

String

Informações de erro estendidas. Este parâmetro não é usado atualmente e está definido como nulo.

Máximo: 1024

Exemplos de solicitações

  • Criando uma instância do 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
    }
  • Criação de uma instância do DCS Redis principal/em espera, paga por uso, com tags, uma porta personalizada, comandos renomeados e implantação entre 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
      } ]
    }
  • Criação de uma instância principal/em espera do Memcached DCS com políticas de backup
    {
      "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"
        }
      }
    }

Exemplo de respostas

Código de estado: 200

A tarefa de criação da instância DCS foi submetida com êxito.

Se o status da instância for RUNNING, a instância DCS foi criada com êxito.

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

Código de estado: 400

Pedido inválido.

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

Código de estado: 401

Informações de autenticação inválidas.

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

Código de estado: 403

O pedido é rejeitado.

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

Código de estado: 404

O recurso solicitado não foi encontrado.

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

Código de estado: 500

Erro de serviço interno.

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

Códigos de status

Código de status

Descrição

200

A tarefa de criação da instância DCS foi submetida com êxito.

NOTA:

Se o status da instância for RUNNING, a instância DCS foi criada com êxito.

400

Pedido inválido.

401

Informações de autenticação inválidas.

403

O pedido é rejeitado.

404

O recurso solicitado não foi encontrado.

500

Erro de serviço interno.

Códigos de erro

Consulte Códigos de erro.