

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á.

# Receber notificações de status de integridade de componentes e implantações
<a name="deployment-health-notifications"></a>

As regras de EventBridge eventos da Amazon fornecem notificações sobre mudanças de estado para suas implantações do Greengrass recebidas por seus dispositivos e para componentes instalados em seu dispositivo. EventBridge fornece um fluxo quase em tempo real de eventos do sistema que descreve as mudanças nos AWS recursos. AWS IoT Greengrass envia esses eventos com EventBridge base no *melhor esforço*. Isso significa que as AWS IoT Greengrass tentativas de enviar todos os eventos para, EventBridge mas, em alguns casos raros, um evento podem não ser entregues. Além disso, AWS IoT Greengrass pode enviar várias cópias de um determinado evento, o que significa que seus ouvintes do evento podem não receber os eventos na ordem em que os eventos ocorreram. 

**nota**  
 EventBridge A Amazon é um serviço de ônibus de eventos que você pode usar para conectar seus aplicativos a dados de várias fontes, como os [principais dispositivos do Greengrass](telemetry.md) e notificações de componentes e de implantação. Para obter mais informações, consulte [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) no *Guia do EventBridge usuário da Amazon*.

**Topics**
+ [Evento de alteração de status da implantação](#deployment.events-message-format)
+ [Evento de alteração de status do componente](#component.events-message-format)
+ [Pré-requisitos para criar regras EventBridge](#create-events-rule-prereqs)
+ [Configurar notificações de integridade do dispositivo (console)](#create-events-rule-console)
+ [Configurar notificações de integridade do dispositivo (CLI)](#create-events-rule-cli)
+ [Configurar notificações de saúde do dispositivo (CloudFormation)](#create-events-rule-cloudformation)
+ [Consulte também](#deployment-notifications-see-also)

## Evento de alteração de status da implantação
<a name="deployment.events-message-format"></a>

AWS IoT Greengrass emite um evento quando uma implantação entra nos seguintes estados: `FAILED``SUCCEEDED`,`COMPLETED`,`REJECTED`, e. `CANCELED` Você pode criar uma EventBridge regra que seja executada para todas as transições de estado ou transições para estados que você especificar. Quando uma implantação entra em um estado que inicia uma regra, EventBridge invoca as ações de destino definidas na regra. Isso permite enviar notificações, capturar informações de eventos, executar ações corretivas ou iniciar outros eventos em resposta a uma alteração de estado. Por exemplo, você pode criar regras para os seguintes casos de uso:
+ Iniciar operações pós-implantação, como fazer download de ativos e notificar a equipe.
+ Enviar notificações após uma implantação bem-sucedida ou com falha.
+ Publicar métricas personalizadas sobre eventos de implantação.

O [evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) para uma alteração no estado da implantação usa o seguinte formato:

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Effective Deployment Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail":{    
        "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681",
        "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED",
        "statusDetails": {
          "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"],
          "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"],
        },
        "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)"
     }
}
```

Você pode criar regras e eventos que o atualizarão sobre o status de uma implantação. Um evento é iniciado quando uma implantação é concluída como `FAILED`, `SUCCEEDED`, `COMPLETED`, `REJECTED` ou `CANCELED`. Se a implantação falhar no dispositivo principal, você receberá uma resposta detalhada que explica por que a implantação falhou. Para obter mais informações sobre códigos de erro da implantação, consulte [Códigos detalhados de erros de implantação](troubleshooting-deployment.md).

**Estados de implantação**  
+ `FAILED`. Houve falha na implantação.
+ `SUCCEEDED`. A implantação direcionada a um grupo de objetos foi concluída com sucesso.
+ `COMPLETED`. A implantação direcionada a um objeto foi concluída com sucesso.
+ `REJECTED`. A implantação foi rejeitada. Para mais informações, consulte o campo `statusDetails`.
+ `CANCELED`. A implantação foi cancelada pelo usuário.

É possível que os eventos estejam duplicados ou fora de ordem. Para determinar a ordem dos eventos, use a propriedade `time`.

Para uma lista completa dos códigos de erro em `errorStacks` e `errorTypes`, consulte [Códigos detalhados de erros de implantação](troubleshooting-deployment.md) e [Códigos detalhados de status de componente](troubleshooting-component.md).

## Evento de alteração de status do componente
<a name="component.events-message-format"></a>

Para AWS IoT Greengrass as versões 2.12.2 e anteriores, o Greengrass emite um evento quando um componente entra nos seguintes estados: e. `ERRORED` `BROKEN` Para as versões 2.12.3 e posteriores do núcleo do Greengrass, o Greengrass emite um evento quando um componente entra nos seguintes estados: `ERRORED`, `BROKEN`, `RUNNING` e `FINISHED`. O Greengrass também emitirá um evento quando a implantação for concluída. Você pode criar uma EventBridge regra que seja executada para todas as transições de estado ou transições para estados que você especificar. Quando um componente instalado entra em um estado que inicia uma regra, EventBridge invoca as ações de destino definidas na regra. Isso permite enviar notificações, capturar informações de eventos, executar ações corretivas ou iniciar outros eventos em resposta a uma alteração de estado.

O [evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) para uma mudança de estado de componente usa os seguintes formatos:

------
#### [ Greengrass nucleus v2.12.2 and earlier ]

Status do componente: `ERRORED` ou `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

------
#### [ Greengrass nucleus v2.12.3 and later ]

Status do componente: `ERRORED` ou `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

Status do componente: `RUNNING` ou `FINISHED`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "RUNNING|FINISHED",
            "lifecycleStateDetails": null
          }
        ]
    }
}
```

------

Você pode criar regras e eventos que o atualizarão sobre o status de um componente instalado. Um evento é iniciado quando um componente muda de estado no dispositivo. Você receberá uma resposta detalhada que explica por que um componente está errado ou com falhas. Você também receberá um código de status que indicará o motivo da falha. Para obter mais informações sobre códigos de status de componentes, consulte [Códigos detalhados de status de componente](troubleshooting-component.md).

## Pré-requisitos para criar regras EventBridge
<a name="create-events-rule-prereqs"></a>

Antes de criar uma EventBridge regra para AWS IoT Greengrass, faça o seguinte:
+ Familiarize-se com eventos, regras e metas em EventBridge.
+ Crie e configure os alvos invocados por suas EventBridge regras. As regras podem invocar muitos tipos de destinos, incluindo:
  + Amazon Simple Notiﬁcation Service (Amazon SNS)
  + AWS Lambda funções
  + Amazon Kinesis Video Streams
  + Filas do Amazon Simple Queue Service (Amazon SQS)

Para obter mais informações, consulte [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) e [Introdução à Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) no *Guia do EventBridge usuário da Amazon*.

## Configurar notificações de integridade do dispositivo (console)
<a name="create-events-rule-console"></a>

Use as etapas a seguir para criar uma EventBridge regra que publique um tópico do Amazon SNS quando o estado de implantação mudar para um grupo. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento. Para obter mais informações, consulte [Criação de uma EventBridge regra que é acionada em um evento a partir de um AWS recurso no Guia](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) do * EventBridge usuário da Amazon*.

1. Abra o [ EventBridgeconsole da Amazon](https://console.aws.amazon.com/events/).

1. No painel de navegação, escolha **Regras**.

1. Escolha **Create rule**.

1. Insira um nome e uma descrição para a regra.

   Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

1. Em **Barramento de eventos**, selecione o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, escolha **Barramento de eventos padrão da AWS **. Quando um AWS serviço em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.

1. Em **Rule type**, escolha **Rule with an event pattern**.

1. Escolha **Próximo**.

1. Em **Origem de eventos**, escolha **Eventos da AWS **.

1. Em **Padrão do evento**, selecione **Serviços da AWS **.

1. Em ** Serviço da AWS **, selecione Greengrass.

1. Para o **Tipo de evento**, escolha entre as seguintes opções:
   + Para eventos de implantação, escolha **Alteração do status de implantação efetiva do Greengrass V2**.
   + Para eventos de componentes, escolha **Alteração de status do componente instalado do Greengrass V2**.

1. Escolha **Próximo**.

1. Em **Target types** (Tipos de destinos), selecione **AWS service** (Serviço da ).

1. Em **Selecionar um destino**, configure seu destino. Este exemplo usa um tópico do Amazon SNS, mas você pode configurar outros tipos de destino para enviar notificações.

   1. Em **Target (Destino)**, selecione **SNS topic (Tópico do SNS)**.

   1. Em **Topic (Tópico)**, selecione o tópico de destino.

   1. Escolha **Próximo**.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e selecione **Criar regra**.

## Configurar notificações de integridade do dispositivo (CLI)
<a name="create-events-rule-cli"></a>

Use as etapas a seguir para criar uma EventBridge regra que publique um tópico do Amazon SNS quando houver um evento de mudança de status do Greengrass. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento.

1. Crie a regra.
   + Para eventos de alteração de status de implantação.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
     ```
   + Para eventos de alteração de status do componente.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"
     ```

   As propriedades que são omitidas do padrão são ignoradas.

1. Adicione o tópico como um destino de regra.
   + {{topic-arn}}Substitua pelo ARN do seu tópico do Amazon SNS.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="{{topic-arn}}"
   ```
**nota**  
Para permitir que EventBridge a Amazon chame seu tópico de destino, você deve adicionar uma política baseada em recursos ao seu tópico. Para obter mais informações, consulte as [permissões do Amazon SNS no Guia EventBridge ](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) *do usuário da Amazon*.

Para obter mais informações, consulte [Eventos e padrões de eventos EventBridge no](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Guia do EventBridge usuário da Amazon*.

## Configurar notificações de saúde do dispositivo (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Use CloudFormation modelos para criar EventBridge regras que enviem notificações sobre mudanças de estado para suas implantações de grupos do Greengrass. Para obter mais informações, consulte a [referência EventBridge de tipo de recurso da Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) no *Guia AWS CloudFormation do usuário*.

## Consulte também
<a name="deployment-notifications-see-also"></a>
+ [Verificar o status da implantação do dispositivo](check-deployment-status.md#check-device-deployment-status)
+ [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) no *Guia do EventBridge usuário da Amazon*