Todos os produtos
Search
Central de documentação

Auto Scaling:ScaleWithAdjustment

Última atualização: Jul 04, 2026

Ao contrário da API ExecuteScalingRule, você pode usar a API ScaleWithAdjustment para acionar o escalonamento elástico com base em uma regra de ajuste especificada, sem precisar criar uma regra de escalonamento previamente.

Descrição da operação

  • Certifique-se de que as seguintes condições sejam atendidas antes de chamar esta operação:

    • O grupo de escalonamento está no estado Active.

    • Nenhuma atividade de escalonamento está em andamento no grupo de escalonamento.

  • Esta operação ignora o período de espera para executar imediatamente uma atividade de escalonamento, desde que nenhuma outra atividade de escalonamento esteja em andamento.

  • Se a adição das instâncias ECS especificadas fizer com que a capacidade total exceda o tamanho máximo, o Auto Scaling definirá a capacidade total como o tamanho máximo.

  • Se a remoção das instâncias ECS especificadas reduzir a capacidade total para abaixo do tamanho mínimo, o Auto Scaling definirá a capacidade total como o tamanho mínimo.

Uma resposta bem-sucedida indica que a solicitação da API foi aceita, mas isso não garante que a atividade de escalonamento será bem-sucedida. Você deve usar o ScalingActivityId retornado para verificar o status da atividade de escalonamento.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

ess:ScaleWithAdjustment

update

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

ScalingGroupId

string

Sim

O ID do grupo de escalonamento.

asg-j6c1o397427hyjdc****

AdjustmentType

string

Sim

O método usado para ajustar o número de instâncias em uma atividade de escalonamento. Valores válidos:

  • QuantityChangeInCapacity: Adiciona ou remove um número especificado de instâncias ECS.

  • PercentChangeInCapacity: Adiciona ou remove uma porcentagem especificada de instâncias ECS.

  • TotalCapacity: Ajusta o número de instâncias ECS no grupo de escalonamento para um número especificado.

QuantityChangeInCapacity

AdjustmentValue

integer

Sim

O valor de ajuste para a atividade de escalonamento. Um único ajuste não pode adicionar ou remover mais de 1.000 instâncias ECS. O intervalo válido depende de AdjustmentType:

  • QuantityChangeInCapacity: -1000 a 1000.

  • PercentChangeInCapacity: -100 a 10000.

  • TotalCapacity: 0 a 2000.

100

MinAdjustmentMagnitude

integer

Não

O número mínimo de instâncias a serem ajustadas em uma atividade de escalonamento. Este parâmetro só entra em vigor quando AdjustmentType é definido como PercentChangeInCapacity.

1

ClientToken

string

Não

Um token gerado pelo cliente para garantir a idempotência da solicitação. Este token deve ser uma string única de até 64 caracteres ASCII.

123e4567-e89b-12d3-a456-42665544****

SyncActivity

boolean

Não

Especifica se a atividade de escalonamento deve ser executada de forma síncrona. Este parâmetro se aplica apenas a grupos de escalonamento configurados com um número esperado de instâncias. Valores válidos:

  • true: Execução síncrona. A atividade de escalonamento é acionada imediatamente.

  • false: Execução assíncrona. A chamada atualiza o número esperado de instâncias sem acionar imediatamente a atividade de escalonamento. A atividade ocorre quando o sistema detecta uma discrepância entre o novo número esperado e o número atual de instâncias.

Nota

Para obter mais informações sobre o número esperado de instâncias, consulte Número esperado de instâncias.

Valor padrão: false.

false

ParallelTask

boolean

Não

Especifica se a atividade de escalonamento atual suporta concorrência.

false

Overrides

object

Não

Os parâmetros a serem substituídos ao escalar horizontalmente um grupo de escalonamento ECI.

Cpu

number

Não

O número de vCPUs para a instância. Unidade: núcleos.

2

Memory

number

Não

O tamanho da memória para a instância. Unidade: GiB.

4

ContainerOverrides

array<object>

Não

Uma lista de substituições específicas de contêiner.

array<object>

Não

Especifica as substituições para um único contêiner.

Name

string

Não

O nome do contêiner a ser substituído. A substituição só entra em vigor se este nome corresponder a um nome de contêiner na configuração de escalonamento.

container-1

Args

array

Não

Os argumentos para o comando de inicialização do contêiner. Você pode especificar até 10 argumentos.

string

Não

Um único argumento do comando de inicialização.

arg

Commands

array

Não

O comando de inicialização do contêiner, especificado como uma matriz de strings. Você pode especificar até 20 strings, e cada uma pode ter até 256 caracteres.

string

Não

Uma única string na matriz de comandos.

sleep

EnvironmentVars

array<object>

Não

Variáveis de ambiente a serem definidas no contêiner.

object

Não

Uma única variável de ambiente, especificada como um par chave-valor.

Key

string

Não

The name of the environment variable. It must be 1 to 128 characters long, cannot start with a digit, and can contain only letters (a-z, A-Z), digits (0-9), and underscores (_).

PATH

Value

string

Não

The value of the environment variable, up to 256 characters long.

/usr/local/tomcat

Cpu

number

Não

O número de vCPUs para o contêiner. Unidade: núcleos.

2

Memory

number

Não

O tamanho da memória para o contêiner. Unidade: GiB.

4

UserData

string

Não

Os dados do usuário para a instância ECS. Devem ser codificados em Base64, e os dados brutos não podem exceder 32 KB.

ZWNobyBoZWxsbyBlY3Mh

LifecycleHookContext

object

Não

O contexto do hook de ciclo de vida.

DisableLifecycleHook

boolean

Não

Especifica se todos os hooks de ciclo de vida devem ser desativados para a atividade de escalonamento. Valores válidos:

  • true: Desativa todos os hooks de ciclo de vida.

  • false: Não desativa os hooks de ciclo de vida.

false

IgnoredLifecycleHookIds

array

Não

Uma lista de IDs de hooks de ciclo de vida a serem ignorados durante a atividade de escalonamento.

string

Não

O ID de um hook de ciclo de vida a ser ignorado.

ash-bp14zolna43z266bq***

LifecycleHookResult

string

Não

ActivityMetadata

string

Não

Os metadados da atividade de escalonamento.

{"key":"value"}

ExecutionMode

string

Não

O modo de execução. Valores válidos:

  • None: Executa uma atividade de escalonamento padrão.

  • PlanOnly: Executa apenas o planejamento elástico e retorna os resultados em PlanResult sem acionar a atividade de escalonamento. Os resultados incluem detalhes como tipos de instância, zonas de disponibilidade, métodos de cobrança e o número de novas instâncias.

Valor padrão: None.

PlanOnly

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

ScalingActivityId

string

O ID da atividade de escalonamento.

asa-bp175o6f6ego3r2j****

RequestId

string

O ID da solicitação.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ActivityType

string

O tipo da atividade de escalonamento.

Se este parâmetro for definido como CapacityChange, a atividade de escalonamento ajustará apenas a capacidade desejada do grupo de escalonamento sem adicionar ou remover instâncias imediatamente.

Esta configuração afeta apenas grupos de escalonamento com uma capacidade desejada configurada.

CapacityChange

PlanResult

object

O resultado do plano de escalonamento retornado quando ExecutionMode é definido como PlanOnly.

ResourceAllocations

array<object>

Os detalhes de alocação de recursos no resultado do plano de escalonamento.

object

ZoneId

string

The availability zone ID.

cn-beijing-g

InstanceType

string

The instance type.

ecs.u1-c1m8.large

SpotStrategy

string

The spot strategy of the instance. Valid values:

  • NoSpot: A pay-as-you-go instance.

  • SpotWithPriceLimit: A spot instance with a user-specified price limit.

  • SpotAsPriceGo: A spot instance where the system automatically bids based on the current market price.

NoSpot

Amount

integer

The number of instances.

1

InstanceChargeType

string

The billing method of the instance. Valid values:

  • Prepaid: subscription

  • PostPaid: pay-as-you-go

PostPaid

Exemplos

Resposta de sucesso

JSON formato

{
  "ScalingActivityId": "asa-bp175o6f6ego3r2j****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ActivityType": "CapacityChange",
  "PlanResult": {
    "ResourceAllocations": [
      {
        "ZoneId": "cn-beijing-g",
        "InstanceType": "ecs.u1-c1m8.large",
        "SpotStrategy": "NoSpot",
        "Amount": 1,
        "InstanceChargeType": "PostPaid"
      }
    ]
  }
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.