Gerenciando eventos do App Runner em EventBridge - AWS App Runner

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciando eventos do App Runner em EventBridge

Usando a Amazon EventBridge, você pode configurar regras orientadas por eventos que monitoram um fluxo de dados em tempo real do seu AWS App Runner serviço para determinados padrões. Quando um padrão para uma regra é correspondido, EventBridge inicia uma ação em um destino, como AWS Lambda Amazon ECS e Amazon SNS. AWS Batch Por exemplo, você pode definir uma regra para enviar notificações por e-mail sinalizando um tópico do Amazon SNS sempre que uma implantação do seu serviço falhar. Ou você pode definir uma função Lambda para notificar um canal do Slack sempre que uma atualização de serviço falhar. Para obter mais informações sobre EventBridge, consulte o Guia EventBridge do usuário da Amazon.

O App Runner envia os seguintes tipos de eventos para EventBridge

  • Alteração do status do serviço — Uma alteração no status de um serviço do App Runner. Por exemplo, o status de um serviço foi alterado paraDELETE_FAILED.

  • Alteração do status da operação do serviço — Uma alteração no status de uma operação longa e assíncrona em um serviço do App Runner. Por exemplo, um serviço começou a ser criado, uma atualização de serviço foi concluída com êxito ou uma implantação de serviço foi concluída com erros.

Criação de uma EventBridge regra para agir em eventos do App Runner

Um EventBridge evento é um objeto que define alguns EventBridge campos padrão, como o AWS serviço de origem e o tipo de detalhe (evento), e um conjunto de campos específico do evento com os detalhes do evento. Para criar uma EventBridge regra, você usa o EventBridge console para definir um padrão de evento (quais eventos devem ser rastreados) e especificar uma ação alvo (o que deve ser feito em uma partida). Um padrão de evento é semelhante aos eventos aos quais ele corresponde. Você especifica um subconjunto de campos para corresponder e, para cada campo, especifica uma lista de valores possíveis. Este tópico fornece exemplos de eventos e padrões de eventos do App Runner.

Para obter mais informações sobre a criação de EventBridge regras, consulte Criação de uma regra para um AWS serviço no Guia EventBridge do usuário da Amazon.

nota

Alguns serviços oferecem suporte a padrões predefinidos em EventBridge. Isso simplifica a forma como um padrão de evento é criado. Você seleciona valores de campo em um formulário e EventBridge gera o padrão para você. No momento, o App Runner não oferece suporte a padrões predefinidos. Você precisa inserir o padrão como um objeto JSON. Você pode usar os exemplos deste tópico como ponto de partida.

Exemplos de eventos do App Runner

Estes são alguns exemplos de eventos para os quais o App Runner envia. EventBridge

  • Um evento de alteração do status do serviço. Especificamente, um serviço que mudou do OPERATION_IN_PROGRESS para o RUNNING status.

    { "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "AppRunner Service Status Change", "source": "aws.apprunner", "account": "111122223333", "time": "2021-04-29T11:54:23Z", "region": "us-east-2", "resources": [ "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa" ], "detail": { "previousServiceStatus": "OPERATION_IN_PROGRESS", "currentServiceStatus": "RUNNING", "serviceName": "my-app", "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa", "message": "Service status is set to RUNNING.", "severity": "INFO" } }
  • Um evento de alteração do status da operação. Especificamente, uma UpdateService operação concluída com êxito.

    { "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "AppRunner Service Operation Status Change", "source": "aws.apprunner", "account": "111122223333", "time": "2021-04-29T18:43:48Z", "region": "us-east-2", "resources": [ "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa" ], "detail": { "operationStatus": "UpdateServiceCompletedSuccessfully", "serviceName": "my-app", "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa", "message": "Service update completed successfully. New application and configuration is deployed.", "severity": "INFO" } }

Exemplos de padrões de eventos do App Runner

Os exemplos a seguir demonstram padrões de eventos que você pode usar em EventBridge regras para corresponder a um ou mais eventos do App Runner. Um padrão de evento é semelhante a um evento. Inclua somente os campos que você deseja combinar e forneça uma lista em vez de um escalar para cada um.

  • Combine todos os eventos de alteração de status do serviço para serviços de uma conta específica, em que o serviço não está mais no RUNNING status.

    { "detail-type": [ "AppRunner Service Status Change" ], "source": [ "aws.apprunner" ], "account": [ "111122223333" ], "detail": { "previousServiceStatus": [ "RUNNING" ] } }
  • Combine todos os eventos de alteração do status da operação para serviços de uma conta específica em que a operação falhou.

    { "detail-type": [ "AppRunner Service Operation Status Change" ], "source": [ "aws.apprunner" ], "account": [ "111122223333" ], "detail": { "operationStatus": [ "CreateServiceFailed", "DeleteServiceFailed", "UpdateServiceFailed", "DeploymentFailed", "PauseServiceFailed", "ResumeServiceFailed" ] } }

Referência do evento App Runner

Alteração do status do serviço

Um evento de alteração do status do serviço foi detail-type definido comoAppRunner Service Status Change. Ele tem os seguintes campos e valores de detalhes:

"serviceId": "your service ID", "serviceName": "your service name", "message": "Service status is set to CurrentStatus.", "previousServiceStatus": "any valid service status", "currentServiceStatus": "any valid service status", "severity": "varies"

Alteração do status da operação

Um evento de alteração do status da operação foi detail-type definido comoAppRunner Service Operation Status Change. Ele tem os seguintes campos e valores de detalhes:

"operationStatus": "see following table", "serviceName": "your service name", "serviceId": "your service ID", "message": "see following table", "severity": "varies"

A tabela a seguir lista todos os códigos de status possíveis e mensagens relacionadas.

Status Message

CreateServiceStarted

A criação do serviço foi iniciada.

CreateServiceCompletedSuccessfully

A criação do serviço foi concluída com sucesso.

CreateServiceFailed

Falha na criação do serviço. Para obter detalhes, consulte os registros de serviço.

DeleteServiceStarted

A exclusão do serviço foi iniciada.

DeleteServiceCompletedSuccessfully

A exclusão do serviço foi concluída com sucesso.

DeleteServiceFailed

Falha na exclusão do serviço.

UpdateServiceStarted

UpdateServiceCompletedSuccessfully

A atualização do serviço foi concluída com êxito. Novo aplicativo e configuração são implantados.

A atualização do serviço foi concluída com êxito. Uma nova configuração é implantada.

UpdateServiceFailed

Falha na atualização do serviço. Para obter detalhes, consulte os registros de serviço.

DeploymentStarted

A implantação foi iniciada.

DeploymentCompletedSuccessfully

Implantação concluída com sucesso.

DeploymentFailed

Falha na implantação. Para obter detalhes, consulte os registros de serviço.

PauseServiceStarted

A pausa no serviço foi iniciada.

PauseServiceCompletedSuccessfully

A pausa do serviço foi concluída com sucesso.

PauseServiceFailed

Falha na pausa do serviço.

ResumeServiceStarted

O currículo do serviço foi iniciado.

ResumeServiceCompletedSuccessfully

Currículo do serviço concluído com sucesso.

ResumeServiceFailed

Falha na retomada do serviço.