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 (V2)
Atualizado em 2023-07-04 GMT+08:00

Criação de uma política de AS (V2)

Função

Essa API é usada para criar uma política de AS para um grupo de AS ou largura de banda.

A diferença entre as APIs V2 e V1 para a criação de uma política de AS é que a V2 suporta a criação de uma política de AS para ajustar a largura de banda e diferenciar recursos de dimensionamento por seus tipos.

URI

POST /autoscaling-api/v2/{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_resource_id

    Sim

    String

    Especifica o ID do recurso de dimensionamento, que é o ID exclusivo de um grupo de AS ou largura de banda.

    • Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o ID de grupo de AS exclusivo.
    • Se scaling_resource_type for definido como BANDWIDTH, esse parâmetro indicará o ID exclusivo da largura de banda.
      NOTA:

      O AS não pode escalar larguras de banda anuais/mensais.

    scaling_resource_type

    Sim

    String

    Especifica o tipo de recurso de dimensionamento.

    • Grupo de AS: SCALING_GROUP
    • Largura de banda: BANDWIDTH

    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.
    • INTERVAL_ALARM (correspondente a alarm_id): indica que a ação de dimensionamento é acionada por uma política de dimensionamento refinada.

    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.

    interval_alarm_actions

    Não

    Array of interval_alarm_actions objects

    Especifica o intervalo de valores de uma política de alarme. Este parâmetro é válido e obrigatório quando scaling_policy_type é definido como INTERVAL_ALARM. Para mais detalhes, consulte Tabela 5.

    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.

    description

    Não

    String

    Especifica a descrição da política de AS. O valor pode conter de 1 a 256 caracteres.

    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.
      NOTA:

      Quando recurrence_type é definido como Daily, este parâmetro não tem efeito.

    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.
    • Se scaling_resource_type for definido como SCALING_GROUP, as seguintes operações serão suportadas:
      • ADD: indica a adição de instâncias.
      • REMOVE/REDUCE: indica remover ou reduzir instâncias.
      • SET: indica definir o número de instâncias para um valor especificado.
    • Se scaling_resource_type for definido como BANDWIDTH, as seguintes operações serão suportadas:
      • ADD: indica a adição de instâncias.
      • REDUCE: indica a redução de instâncias.
      • SET: indica a configuração do número de instâncias para um valor especificado.

    size

    Não

    Integer

    Especifica o tamanho da operação. O valor é um inteiro de 0 a 300. O valor padrão é 1. Este parâmetro pode ser definido como 0 somente quando operation é definida como SET.

    • Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o número de instâncias. O valor é um número inteiro de 0 a 300 e o valor padrão é 1.
    • Se scaling_resource_type estiver definido como BANDWIDTH, este parâmetro indica a largura de banda (Mbit/s). O valor é um inteiro de 1 a 300 e o valor padrão é 1.
    • Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos.

    percentage

    Não

    Integer

    Especifica a porcentagem de instâncias a serem operadas. Se operation estiver definida como ADD, REMOVE ou REDUCE, o valor deste parâmetro será um número inteiro de 1 a 20000. Se operation for definida como SET, o valor é um inteiro de 0 a 20000.

    • Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos. Se nem size nem percentage forem definidos, o valor padrão de size é 1.
    • Se scaling_resource_type estiver definido como BANDWIDTH, percentage não estará disponível.

    limits

    Não

    Integer

    Especifica as restrições de operação.

    Se scaling_resource_type estiver definido como BANDWIDTH e operation não for SET, este parâmetro terá efeito e a unidade será Mbit/s.

    • Se operation estiver definida como ADD, este parâmetro indica a largura de banda máxima permitida.
    • Se operation estiver definida como REDUCE, este parâmetro indica a largura de banda mínima permitida.
    Tabela 5 Descrição do campo interval_alarm_actions

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    lower_bound

    Não

    Double

    Especifica o limite inferior do intervalo de valores. O valor é nulo por padrão.

    Se o limite inferior do intervalo de valores for nulo, o limite superior deve ser menor ou igual a 0.

    O limite inferior mínimo permitido é -1,174271E108.

    upper_bound

    Não

    Double

    Especifica o limite superior do intervalo de valores. O valor é nulo por padrão.

    Se o limite superior do intervalo for nulo, o limite inferior deve ser maior ou igual a 0.

    O limite máximo permitido é 1,174271E108.

    operation

    Não

    String

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

    • Se scaling_resource_type for definido como SCALING_GROUP, as seguintes operações serão suportadas:
      • ADD: indica a adição de instâncias.
      • REMOVE/REDUCE: indica a remoção ou redução de instâncias.
      • SET: indica a configuração do número de instâncias para um valor especificado.
    • Se scaling_resource_type for definido como BANDWIDTH, as seguintes operações serão suportadas:
      • ADD: indica a adição de instâncias.
      • REDUCE: indica a redução de instâncias.
      • SET: indica a configuração do número de instâncias para um valor especificado.

    size

    Não

    Integer

    Especifica o tamanho da operação. O valor é um inteiro de 0 a 300. O valor padrão é 1.

    Este parâmetro pode ser definido como 0 somente quando operation é definida como SET.

    • Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o número de instâncias. O valor é um número inteiro de 0 a 300 e o valor padrão é 1.
    • Se scaling_resource_type estiver definido como BANDWIDTH, este parâmetro indica a largura de banda (Mbit/s). O valor é um inteiro de 1 a 300 e o valor padrão é 1.
    • Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos.

    percentage

    Não

    Integer

    Especifica a porcentagem de instâncias a serem operadas. Quando a operação é ADD, REMOVE ou REDUCE, o valor é um número inteiro de 1 a 20000.

    Quando a operação é SET, o valor é um inteiro de 0 a 20000.

    • Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos. Se nem size nem percentage forem definidos, o valor padrão de size é 1.
    • Se scaling_resource_type estiver definido como BANDWIDTH, percentage não estará disponível.

    limits

    Não

    Integer

    Especifica as restrições de operação.

    Se scaling_resource_type estiver definido como BANDWIDTH e operation não for SET, este parâmetro terá efeito e a unidade será Mbit/s.

    • Se operation estiver definida como ADD, este parâmetro indica a largura de banda máxima permitida.
    • Se operation estiver definida como REDUCE, este parâmetro indica a largura de banda mínima permitida.
    • O intervalo de valores de alarme de uma política de dimensionamento refinada é o limite da regra de alarme mais os limites superior e inferior do intervalo de valores.
    • Se o limite inferior de um intervalo de valores for nulo, o limite inferior mínimo será -1,174271E108. Se o limite superior do intervalo for nulo, o limite superior máximo será 1,174271E108.

    Por exemplo:

    Defina a regra de alarme para uma política de AS para CPU usage ≥ 30% e adicione os seguintes intervalos de dois valores:

    Scaling Action é definida como 30% ≤ CPU usage < 60%, add 1 instance. Então, lower_bound deve ser definido como 0 e upper_bound como 30.

    Scaling Action é definida como 60% ≤ CPU usage < positive infinite, add 2 instances. Em seguida, lower_bound deve ser definido como 30 e upper_bound como 1,174271E108 ou null.

    • Se nem o limite superior nem o limite inferior de um intervalo de valores for nulo, eles devem ser maiores ou iguais a, ou menores ou iguais a 0.
    • Se várias políticas de dimensionamento refinado forem adicionadas, seus intervalos de valor não poderão se sobrepor.
    • Se o operador de uma regra de alarme for =, nenhum intervalo pode ser adicionado.
  • Exemplo de solicitação
    Este exemplo mostra como criar uma política de alarme chamada hth_aspolicy_1 com as seguintes configurações: o ID da regra de alarme é al1513822380493GvlJKZwA8; quando o limite de alarme é alcançado de acordo com a regra de alarme, a largura de banda com ID 8ade64b5-d685-40b8-8582-4ce306ea37a6 será aumentada em 1 Mbit/s até que a largura de banda atinja 10 Mbit/s.
    POST https://{Endpoint}/autoscaling-api/v2/{project_id}/scaling_policy
    
    { 
        "alarm_id": "al1513822380493GvlJKZwA8",
        "cool_down_time": 900,
        "scaling_resource_id": "8ade64b5-d685-40b8-8582-4ce306ea37a6",
        "scaling_resource_type": "BANDWIDTH",
        "scaling_policy_action": {
               "size": 1,
               "operation": "ADD",
               "limits": 10
        },
        "scaling_policy_name": "hth_aspolicy_1",
        "scaling_policy_type": "ALARM"
    }

Mensagem de resposta

  • Parâmetros de resposta
    Tabela 6 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.