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.
Central de ajuda/ Auto Scaling/ Referência de API/ APIs/ Políticas do AS/ Criação de uma política de AS
Atualizado em 2023-07-04 GMT+08:00

Criação de uma política de AS

Função

Essa API é usada para criar uma política de AS.

  • Uma política de AS define se deve aumentar ou diminuir o número de instâncias em um grupo de AS. Se o número e o número esperado de instâncias em um grupo de AS forem diferentes devido à execução da política de AS, o AS ajustará automaticamente o número de instâncias ao esperado.
  • O AS suporta as seguintes políticas: política acionada por alarme, política periódica e política agendada.
  • Na execução da política de AS, você pode definir o número de instâncias a serem escaladas ou executar uma ação de dimensionamento de acordo com uma porcentagem especificada na política de AS.

URI

POST /autoscaling-api/v1/{project_id}/scaling_policy

Tabela 1 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

Especifica o ID do projeto.

Mensagem de solicitação

  • Parâmetros de solicitação
    Tabela 2 Parâmetros de solicitação

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    scaling_policy_name

    Sim

    String

    Especifica o nome da política de AS. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 64 caracteres.

    scaling_group_id

    Sim

    String

    Especifica o ID do grupo de AS, que pode ser obtido usando a API para consultar grupos de AS. Para mais detalhes, consulte Consulta de grupos de AS.

    scaling_policy_type

    Sim

    String

    Especifica o tipo de política de AS.

    • ALARM (correspondente a alarm_id): indica que a ação de dimensionamento é acionada por um alarme.
    • SCHEDULED (correspondente a scheduled_policy): indica que a ação de dimensionamento é acionada conforme agendado.
    • RECURRENCE (correspondente a scheduled_policy): indica que a ação de dimensionamento é acionada periodicamente.

    alarm_id

    Não

    String

    Especifica o ID da regra de alarme. Este parâmetro é obrigatório quando scaling_policy_type é definido como ALARM. Depois que esse parâmetro é especificado, o valor de scheduled_policy não entra em vigor.

    Depois que você cria uma política de alarme, o sistema adiciona automaticamente uma atividade de disparo de alarme do tipo de dimensionamento automático ao campo alarm_actions na regra de alarme especificada pelo valor do parâmetro.

    Você pode obter o valor do parâmetro consultando as regras de alarme do Cloud Eye.

    scheduled_policy

    Não

    scheduled_policy object

    Especifica a política de AS periódica ou agendada. Este parâmetro é obrigatório quando scaling_policy_type é definido como SCHEDULED ou RECURRENCE. Depois que este parâmetro é especificado, o valor de alarm_id não tem efeito. Para mais detalhes, consulte Tabela 3.

    scaling_policy_action

    Não

    scaling_policy_action object

    Especifica a ação de dimensionamento da política de AS. Para mais detalhes, consulte Tabela 4.

    cool_down_time

    Não

    Integer

    Especifica o período de resfriamento (em segundos). O valor varia de 0 a 86400 e é de 300 por padrão.

    Tabela 3 Descrição do campo scheduled_policy

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    launch_time

    Sim

    String

    Especifica a hora em que a ação de dimensionamento é acionada. O formato de tempo está em conformidade com o UTC.

    • Se scaling_policy_type estiver definido como SCHEDULED, o formato de hora será YYYY-MM-DDThh:mmZ.
    • Se scaling_policy_type for definido como RECURRENCE, o formato de hora será hh:mm.

    recurrence_type

    Não

    String

    Especifica o tipo de acionamento periódico. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.

    • Daily: indica que a ação de dimensionamento é acionada uma vez por dia.
    • Weekly: indica que a ação de dimensionamento é acionada uma vez por semana.
    • Monthly: indica que a ação de dimensionamento é acionada uma vez por mês.

    recurrence_value

    Não

    String

    Especifica o dia em que uma ação de dimensionamento periódica é acionada. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.

    • Se recurrence_type estiver definido como Daily, o valor será null, indicando que a ação de dimensionamento é acionada uma vez por dia.
    • Se recurrence_type for definido como Weekly, o valor varia de 1 (domingo) a 7 (sábado). Os dígitos referem-se a datas em cada semana e separados por uma vírgula, como 1,3,5.
    • Se recurrence_type for definido como Monthly, o valor varia de 1 a 31. Os dígitos referem-se às datas em cada mês e separados por uma vírgula, como 1,10,13,28.

    start_time

    Não

    String

    Especifica a hora de início da ação de dimensionamento acionada periodicamente. O formato de tempo está em conformidade com o UTC. O valor padrão é a hora local.

    O formato da hora é YYYY-MM-DDThh:mmZ.

    end_time

    Não

    String

    Especifica a hora de término da ação de dimensionamento acionada periodicamente. O formato de tempo está em conformidade com o UTC. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.

    Quando a ação de dimensionamento é acionada periodicamente, a hora de término não pode ser anterior à hora atual e de início.

    O formato da hora é YYYY-MM-DDThh:mmZ.

    Tabela 4 Descrição do campo scaling_policy_action

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    operation

    Não

    String

    Especifica a operação a ser executada. A operação padrão é ADD.

    • ADD: adiciona um número especificado de instâncias ao grupo de AS.
    • REMOVE/REDUCE: remove ou reduz o número especificado de instâncias do grupo de AS.
    • SET: define o número de instâncias no grupo de AS.

    instance_number

    Não

    Integer

    Especifica o número de instâncias a serem operadas. O número padrão é 1. O intervalo de valores é a seguinte para uma cota padrão:

    • Se operation for definida como SET, o valor varia de 0 a 300.
    • Se operation estiver definida como ADD, REMOVE ou REDUCE, o valor varia de 1 a 300.
    NOTA:

    O instance_number ou instance_percentage é obrigatório.

    instance_percentage

    Não

    Integer

    Especifica a porcentagem de instâncias a serem operadas. Você pode aumentar, diminuir ou definir o número de instâncias em um grupo de AS para a porcentagem especificada do número atual de instâncias. Se operation for definida como ADD, REMOVE ou REDUCE, o valor é um número inteiro de 1 a 20000. Se operation for definida como SET, o valor é um inteiro de 0 a 20000.

    Se nem instance_number nem instance_percentage forem especificados, o número de instâncias a serem operadas será 1.

    O instance_number ou instance_percentage é obrigatório.

  • Exemplo de solicitação
    Este exemplo mostra como criar uma política de AS periódica chamada as-policy-7a75. A política entra em vigor de 2015-12-14T03:34Z até 2015-12-27T03:34Z. Durante esse período, uma instância será adicionada ao grupo de AS com o ID 5bc3aa02-b83e-454c-aba1-4d2095c68f8b às 16:00 todos os dias.
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_policy
    
    {
        "scaling_policy_name": "as-policy-7a75",
        "scaling_policy_action": {
            "operation": "ADD",
            "instance_number": 1
        },
        "cool_down_time": 900,
        "scheduled_policy": {
            "launch_time": "16:00",
            "recurrence_type": "Daily",
            "start_time": "2015-12-14T03:34Z",
            "end_time": "2015-12-27T03:34Z"
        },
        "scaling_policy_type": "RECURRENCE",
        "scaling_group_id": "5bc3aa02-b83e-454c-aba1-4d2095c68f8b"
    }

Mensagem de resposta

  • Parâmetros de resposta
    Tabela 5 Parâmetros de resposta

    Parâmetro

    Tipo

    Descrição

    scaling_policy_id

    String

    Especifica o ID da política de AS.

  • Exemplo de resposta
    {
        "scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd"
    }

Valores retornados

  • Normal

    200

  • Anormal

    Valores retornados

    Descrição

    400 Bad Request

    O servidor falhou ao processar a solicitação.

    401 Unauthorized

    Você deve digitar o nome de usuário e a senha para acessar a página solicitada.

    403 Forbidden

    Você está proibido de acessar a página solicitada.

    404 Not Found

    O servidor não conseguiu encontrar a página solicitada.

    405 Method Not Allowed

    Você não tem permissão para usar o método especificado na solicitação.

    406 Not Acceptable

    A resposta gerada pelo servidor não poderia ser aceita pelo cliente.

    407 Proxy Authentication Required

    Você deve usar o servidor proxy para autenticação para que a solicitação possa ser processada.

    408 Request Timeout

    A solicitação expirou o tempo limite.

    409 Conflict

    A solicitação não pôde ser processada devido a um conflito.

    500 Internal Server Error

    Falhou ao concluir a solicitação porque ocorre um erro de serviço interno.

    501 Not Implemented

    Falhou ao concluir a solicitação porque o servidor não suporta a função solicitada.

    502 Bad Gateway

    Falhou ao concluir a solicitação porque a solicitação é inválida.

    503 Service Unavailable

    Falhou ao concluir a solicitação porque o sistema não está disponível.

    504 Gateway Timeout

    Ocorreu um erro de tempo limite de gateway.

Códigos de erro

Consulte Códigos de erro.