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/ Ganchos do ciclo de vida/ Criação de um gancho do ciclo de vida
Atualizado em 2023-07-04 GMT+08:00

Criação de um gancho do ciclo de vida

Função

Essa interface é usada para criar um gancho do ciclo de vida para um grupo de AS. Até cinco ganchos do ciclo de vida podem ser criados para um grupo de AS.

  • Após a criação, quando o grupo de AS executa uma ação de dimensionamento, o gancho do ciclo de vida suspende a instância de destino e define-a como no status Wait (Adding to AS group) ou Wait (Removing from AS group). Esse status será mantido até que a duração do tempo limite expire ou você volte a chamar esse status manualmente.
  • Durante a duração de espera da instância, você pode executar operações personalizadas. Por exemplo, você pode instalar ou configurar o software em uma instância recém-iniciada ou fazer download do arquivo de log da instância antes que a instância seja encerrada.

URI

POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}

Tabela 1 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

Especifica o ID do projeto.

scaling_group_id

Sim

String

Especifica o ID do grupo de AS.

Mensagem de solicitação

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

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    lifecycle_hook_name

    Sim

    String

    Especifica o nome do gancho do ciclo de vida. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 32 caracteres.

    lifecycle_hook_type

    Sim

    String

    Especifica o tipo de gancho do ciclo de vida. Opções:

    • INSTANCE_TERMINATING: o gancho suspende a instância quando a instância é encerrada.
    • INSTANCE_LAUNCHING: o gancho suspende a instância quando a instância é iniciada.

    default_result

    Não

    String

    Especifica a operação de retorno de chamada de gancho do ciclo de vida padrão. Por padrão, esta operação é realizada quando a duração do tempo limite expira.

    • ABANDON
    • CONTINUE
    NOTA:
    • Se uma instância estiver sendo iniciada, CONTINUE indicará que as operações personalizadas foram bem-sucedidas e que a instância pode ser usada. ABANDON indica que as operações personalizadas falharam e a instância será encerrada. Nesse caso, a ação de dimensionamento falha e você deve criar uma nova instância.
    • Se uma instância estiver parando, ABANDON e CONTINUE permitirão o encerramento da instância. A diferença entre os dois estados é a seguinte: ABANDON interrompe outros ganchos do ciclo de vida, mas CONTINUE permite a conclusão de outros ganchos do ciclo de vida.
    • O valor padrão deste parâmetro é ABANDON.

    default_timeout

    Não

    Integer

    Especifica a duração do tempo limite do gancho do ciclo de vida, que varia de 300 a 86400 na unidade de segundo. O valor padrão é 3600.

    Por padrão, esse parâmetro especifica a duração de espera da instância. Você pode prolongar a duração do tempo limite ou executar a operação CONTINUE ou ABANDON antes que a duração do tempo limite expire.

    notification_topic_urn

    Sim

    String

    Especifica um tópico exclusivo na SMN.

    Este parâmetro especifica um objeto de notificação para um gancho do ciclo de vida. Quando uma instância é suspensa pelo gancho do ciclo de vida, o serviço SMN envia uma notificação ao objeto. Essa notificação contém as informações básicas da instância, seu conteúdo de notificação personalizado e o token para controlar as operações do ciclo de vida.

    notification_metadata

    Não

    String

    Especifica uma notificação personalizada, que não contém mais de 256 caracteres de comprimento. A mensagem não pode conter os seguintes caracteres: <>&'()

    Depois que um objeto de notificação é configurado, o serviço SMN envia sua notificação personalizada para o objeto.

  • Exemplo de solicitação

    Este exemplo mostra como criar um gancho do ciclo de vida chamado test-hook1 no grupo de AS com ID e5d27f5c-dd76-4a61-b4bc-a67c5686719a. A configuração é a seguinte: a operação de retorno de chamada é ABANDON; a duração do tempo limite é de 3600 segundos; a notificação topic_urn é urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh; o hook suspende a instância quando a instância é iniciada.

    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/e5d27f5c-dd76-4a61-b4bc-a67c5686719a
    
    {
        "lifecycle_hook_name": "test-hook1",
        "default_result": "ABANDON",
        "default_timeout": 3600,
        "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh",
        "lifecycle_hook_type": "INSTANCE_LAUNCHING"
    }

Mensagem de resposta

  • Parâmetros de resposta
    Tabela 3 Parâmetros de resposta

    Parâmetro

    Tipo

    Descrição

    lifecycle_hook_name

    String

    Especifica o nome do gancho do ciclo de vida.

    lifecycle_hook_type

    String

    Especifica o tipo de gancho do ciclo de vida.

    • INSTANCE_TERMINATING
    • INSTANCE_LAUNCHING

    default_result

    String

    Especifica a operação de retorno de chamada de gancho do ciclo de vida padrão.

    • ABANDON
    • CONTINUE

    default_timeout

    Integer

    Especifica a duração do tempo limite do gancho do ciclo de vida na unidade de segundo.

    notification_topic_urn

    String

    Especifica um tópico exclusivo na SMN.

    notification_topic_name

    String

    Especifica o nome do tópico na SMN.

    notification_metadata

    String

    Especifica a mensagem de notificação.

    create_time

    String

    Especifica o horário em conformidade com UTC quando o gancho do ciclo de vida é criado.

  • Exemplo de resposta
    {
        "lifecycle_hook_name": "test-hook1",
        "default_result": "ABANDON",
        "default_timeout": 3600,
        "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh",
        "notification_topic_name": "gsh",
        "lifecycle_hook_type": "INSTANCE_LAUNCHING",
        "notification_metadata": null,
        "create_time": "2019-03-18T16:00:11Z"
    }

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.