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 faturada no modo de pagamento por uso.

URI

POST /v1.0/{project_id}/instances

Tabela 1 descreve os parâmetros.
Tabela 1 Descrição do parâmetro

Parâmetro

Tipo

Obrigatório

Descrição

project_id

String

Sim

ID do projeto. Para obter detalhes sobre como obter o valor deste parâmetro, consulte Obtenção do ID do projeto.

Solicitação

Parâmetros de solicitação

Tabela 2 descreve os parâmetros de solicitação.

Tabela 2 Descrição do parâmetro

Parâmetro

Tipo

Obrigatório

Descrição

name

String

Sim

Nome da instância do DCS.

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 mais de uma ocorrência por vez, o valor de Name pode conter de 4 a 56 caracteres. Essas instâncias são nomeadas no formato de "name-n", no qual n começa de 000 e é incrementado de 1. Por exemplo, se você criar duas instâncias e definir name como dcs_demo, as duas instâncias serão nomeadas respectivamente como dcs_demo-000 e dcs_demo-001.

description

String

Não

Breve descrição da instância do DCS.

A descrição suporta até 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 \”.

engine

String

Sim

Mecanismo de cache. Opções: Redis ou Memcached.

engine_version

String

Sim

Versão do mecanismo de cache. Se o mecanismo de cache for Redis, o valor poderá ser 3.0, 4.0, ou 5.0. Se o mecanismo de cache for Memcached, esse parâmetro é opcional e pode ser deixado em branco.

capacity

Float

Sim

Capacidade de cache. Unidade: GB.

  • Redis 3.0: Para uma instância de DCS de nó único ou principal/em espera, o valor pode ser 2, 4, 8, 16, 32, ou 64. Para uma instância de DCS de cluster de proxy, o valor pode ser 64, 128, 256, 512, ou 1024.
  • Redis 4.0 ou 5.0: Para uma instância de DCS 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 de DCS do Cluster do Redis, 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.

no_password_access

String

Sim

Um indicador de se uma instância de DCS pode ser acessada no modo sem senha.

  • true: indica que uma instância do DCS pode ser acessada sem uma senha.
  • false: indica que uma instância de DCS pode ser acessada somente após a autenticação de senha.

Valor padrão: false.

password

String

Não

Senha de uma instância de DCS.

NOTA:

Se no_password_access for definido como false ou not set, a solicitação deverá conter o parâmetro password.

A senha de uma instância do DCS Redis deve atender aos seguintes requisitos de complexidade:

  • Pode conter de 8 a 32 caracteres.
  • 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 (`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)

access_user

String

Não

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

Se o mecanismo de cache for Memcached, esse parâmetro estará disponível somente quando no_password_access for definido como false, indicando que você precisa acessar a instância do DCS no modo de senha.

Um nome de usuário pode conter de 1 a 64 caracteres, incluindo letras, dígitos, sublinhados (_), e hífens (-), e deve começar com uma letra.

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

vpc_id

String

Sim

ID de VPC

Obtenha o valor utilizando um dos seguintes métodos:

  • Método 1: Faça login no console da VPC e visualize o ID da VPC nos detalhes da VPC.
  • Método 2: Consulte o ID da VPC por meio da API da VPC. Para obter detalhes, consulte Consultando as VPC.

security_group_id

String

Sim

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

Obtenha o valor utilizando um dos seguintes métodos:

  • Método 1: Faça login no console da VPC. Escolha Access Control > Security Groups no painel de navegação à esquerda. Na página exibida, 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 para consultar grupos de segurança. Para obter detalhes, consulte Consultando Grupos de Segurança.

subnet_id

String

Sim

ID de rede da sub-rede.

Obtenha o valor utilizando um dos seguintes métodos:

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

available_zones

Array

Sim

ID da AZ onde o nó de cache reside e que tem recursos disponíveis. Para obter detalhes sobre como obter o valor, consulte Consulta de informações sobre AZ. Verifique se a AZ 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.

product_id

String

Sim

ID do produto que pode ser criado. Para mais detalhes, consulte Consulta de especificações do serviço.

NOTA:

Ao obter o ID do produto a partir das especificações do produto, verifique se o modo de faturamento especificado no ID do produto é o mesmo que o modo de faturamento selecionado. Por exemplo, para comprar uma instância principal/em espera do DCS Redis 3.0 faturada no modo de pagamento por uso, Você pode pesquisar o ID do produto correspondente ao registro cujo charging_type é Hourly e spec_code é dcs.master_standby na mensagem de resposta.

instance_backup_policy

JSON

Não

Política de backup.

Esse parâmetro está disponível para instâncias de DCS principal/em espera e de cluster. Para mais detalhes, veja Tabela 4 e Tabela 5.

enable_publicip

Boolean

Não

Um indicador de habilitação do acesso público para uma instância do DCS Redis.

  • true: ativar.
  • false: desativar.

publicip_id

String

Não

ID do endereço IP elástico vinculado a uma 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).

enable_ssl

Boolean

Não

Um indicador da habilitação do SSL para acesso público a uma instância do DCS Redis.

  • true: ativar.
  • false: desativar.

maintain_begin

String

Não

Hora em que a janela de tempo de manutenção começa.

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 obter detalhes sobre como consultar os segmentos de tempo das janelas de tempo de manutenção suportadas, consulte Consulta de janela 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.
  • Os parâmetros maintain_begin e maintain_end devem ser definidos em pares. Se o parâmetro maintain_start for deixado em branco, o parâmetro maintain_end também estará em branco. Neste caso, o sistema define automaticamente a hora de início para 02:00:00.

maintain_end

String

Não

Hora em que a janela de tempo de manutenção termina.

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 obter detalhes sobre como consultar os segmentos de tempo das janelas de tempo de manutenção suportadas, consulte Consulta de janela 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.
  • Os parâmetros maintain_begin e maintain_end devem ser definidos em pares. Se o parâmetro maintain_end for deixado em branco, o parâmetro maintain_start também estará em branco. Nesse caso, o sistema define automaticamente a hora de término para 06:00:00.

enterprise_project_id

String

Não

ID do projeto empresarial.

enterprise_project_name

String

Não

Nome do projeto corporativo.

instance_num

Integer

Não

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

Valor padrão: 1.

Faixa de valor: 1–100.

private_ip

String

Não

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

tags

Array of objects

Não

Chave e valor da tag de instância. Para mais detalhes, consulte Tabela 3.

port

Integer

Não

Personalização de porta, que é compatível apenas com instâncias do Redis 4.0 e do Redis 5.0 e não com 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

JSON

Não

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 tags parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

key

Não

String

Tag key, que

  • Não pode ser deixado em branco.
  • Deve ser único.
  • Pode conter no máximo 36 caracteres.

value

Não

String

Valor da tag, que

  • É obrigatório quando a action é definida para create e opcional quando a action é definida para delete.
  • Pode conter no máximo 43 caracteres.
Tabela 4 instance_backup_policy descrição do parâmetro

Parâmetro

Tipo

Obrigatório

Descrição

save_days

Integer

Não

Este parâmetro é obrigatório quando backup_type é definido como manual.

Período de retenção.

Unidade: dia.

Faixa de valor: 1–7.

backup_type

String

Não

Tipo de backup.

Opções:

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

O valor padrão é manual.

periodical_backup_plan

JSON

Sim

Plano de backup. Para mais detalhes, consulte Tabela 5.

Tabela 5 descrição do parâmetro periodical_backup_plan

Parâmetro

Tipo

Obrigatório

Descrição

begin_at

String

Sim

Hora em que o backup começa.

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

period_type

String

Sim

Intervalo no qual o backup é realizado.

Atualmente, apenas o backup semanal é suportado.

backup_at

Array

Sim

Dia em uma semana em que o backup começa.

Faixa de valor: 1–7, onde 1 indica segunda-feira e 7 indica domingo.

timezone_offset

String

Não

Fuso horário em que o backup é realizado.

Faixa de valor: GMT–12:00 até GMT+12:00. Se este parâmetro for deixado em branco, o fuso horário atual da VM do servidor DCS é usado por padrão.

Exemplo de solicitação

URL da solicitação:

POST https://{dcs_endpoint}/v1.0/{project_id}/instances
  • Exemplo:
    Criando uma instância do DCS 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
    }
  • Exemplo:

    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 cross-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"
    }]
    }
  • Exemplo:

    Criação de uma instância principal/em espera do Memcached DCS com políticas de backup

    {
        "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":""
    }

Resposta

Parâmetros de resposta

Tabela 6 descreve os parâmetros de resposta.
Tabela 6 Descrição do parâmetro

Parâmetro

Tipo

Descrição

instance_id

String

ID da instância do DCS.

Se as instâncias forem criadas em lotes, serão retornados vários ID de instância, que serão separados por vírgulas (,).

NOTA:

Este parâmetro é usado para compatibilidade com versões anteriores. Os ID de instância listados neste parâmetro são consistentes com as instâncias listadas em instances.

instances

JSON

Lista de instâncias do DCS. Para mais detalhes, consulte Tabela 7.

Tabela 7 Descrição do parâmetro do array de 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.

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

Código de status

Tabela 8 descreve o código de status das operações bem-sucedidas. Para obter detalhes sobre outros códigos de status, consulte Tabela 1.

Tabela 8 Código de status

Código de status

Descrição

200

Instância de DCS criada com êxito.