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
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.
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.
|
no_password_access |
String |
Sim |
Um indicador de se uma instância de DCS pode ser acessada no modo sem 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:
|
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:
|
vpc_id |
String |
Sim |
ID de VPC Obtenha o valor utilizando um dos seguintes métodos:
|
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:
|
subnet_id |
String |
Sim |
ID de rede da sub-rede. Obtenha o valor utilizando um dos seguintes métodos:
|
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.
|
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.
|
maintain_begin |
String |
Não |
Hora em que a janela de tempo de manutenção começa. Formato: HH:mm:ss.
|
maintain_end |
String |
Não |
Hora em que a janela de tempo de manutenção termina. Formato: HH:mm:ss.
|
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
key |
Não |
String |
Tag key, que
|
value |
Não |
String |
Valor da tag, que
|
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:
O valor padrão é manual. |
periodical_backup_plan |
JSON |
Sim |
Plano de backup. Para mais detalhes, consulte Tabela 5. |
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
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. |
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" }