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