

# Monitoramento de relatórios de status e conclusão
<a name="batch-ops-job-status"></a>

Com o S3 Batch Operations, você pode exibir e atualizar o status do trabalho, adicionar notificações e registro em log, rastrear falhas de trabalho e gerar relatórios de conclusão. 

**Topics**
+ [Status de trabalhos](#batch-ops-job-status-table)
+ [Atualizar status do trabalho](#updating-job-statuses)
+ [Notificações e registro em log](#batch-ops-notifications)
+ [Monitorar falhas nos trabalhos](#batch-ops-job-status-failure)
+ [Relatórios de conclusão](#batch-ops-completion-report)
+ [Monitorar um trabalho de operações em lote do S3 no Amazon EventBridge por meio do AWS CloudTrail](batch-ops-examples-event-bridge-cloud-trail.md)
+ [Exemplos: relatórios de conclusão de operações em lote do S3](batch-ops-examples-reports.md)

## Status de trabalhos
<a name="batch-ops-job-status-table"></a>

Depois de criar um trabalho, ele passa por diversos status. A tabela a seguir descreve os status e as possíveis transições entre eles. 


| Status | Descrição | Transições | 
| --- | --- | --- | 
| `New` | Ao ser criado, o trabalho ganha o status `New`. | Um trabalho passa automaticamente para o estado `Preparing` quando o Amazon S3 começa a processar o objeto do manifesto. | 
| `Preparing` | O Amazon S3 está processando o objeto do manifesto e outros parâmetros do trabalho para configurar e executar o trabalho. | O trabalho passa automaticamente para o estado `Ready` depois que o Amazon S3 termina de processar o manifesto e outros parâmetros. Então, o trabalho está pronto para começar a executar a operação especificada nos objetos listados no manifesto.<br />Se o trabalho exigir confirmação antes da execução, como ao criar um trabalho usando o console do Amazon S3, ele passará do estado `Preparing` para `Suspended`. Ele permanece no estado `Suspended` até que você confirme que deseja executá-lo. | 
| `Suspended` | O trabalho exige confirmação, mas você ainda não confirmou que deseja executá-lo. Somente os trabalhos criados pelo console do Amazon S3 exigem confirmação. Um trabalho criado pelo console entra no estado `Suspended` imediatamente depois de `Preparing`. Depois de confirmar que deseja executar o trabalho e ele entra no estado `Ready`, ele não retorna mais a `Suspended`. | Depois de confirmar que deseja executar o trabalho, o status muda para `Ready`. | 
| `Ready` | O Amazon S3 está pronto para executar as operações do objeto solicitadas. | Um trabalho passa automaticamente para `Active` quando o Amazon S3 começa a executá-lo. O tempo que o trabalho permanece no estado `Ready` depende do fato de outros trabalhos de maior prioridade estarem sendo executados e do tempo necessários para conclui-los. | 
| `Active` | O Amazon S3 está executando a operação solicitada nos objetos listados no manifesto. Enquanto um trabalho está no status `Active`, é possível monitorar seu progresso usando o console do Amazon S3 ou a operação `DescribeJob` por meio da API REST, AWS CLI ou AWS SDKs. | Um trabalho sai do estado `Active` quando para de executar operações nos objetos. Esse comportamento pode acontecer automaticamente, como quando um trabalho é concluído com êxito ou apresenta falha. Ou esse comportamento pode ocorrer como resultado de ações do usuário, como ao cancelar um trabalho. O estado que o trabalho passa a apresentar depende do motivo da transição. | 
| `Pausing` | O trabalho está passando de outro estado para `Paused`. | O trabalho passa automaticamente para `Paused` quando o estado `Pausing` é concluído. | 
| `Paused` | O trabalho pode assumir o estado `Paused` se você enviar outro trabalho de maior prioridade enquanto o atual está sendo executado. | O trabalho `Paused` volta automaticamente para `Active` depois que os trabalhos de prioridade mais alta que estavam bloqueando sua execução são concluídos, suspensos ou falham. | 
| `Completing` | O trabalho está passando de outro estado para `Complete`. | O trabalho passa automaticamente para `Complete` quando o estado `Completing` é concluído. | 
| `Complete` | O trabalho terminou a execução da operação solicitada em todos os objetos do manifesto. A operação pode ter sido concluída com êxito ou ter apresentado falha para cada objeto. Se você configurar a criação do relatório de conclusão, o relatório estará disponível assim que o trabalho estiver em `Complete`. | `Complete` é um estado terminal. Quando um trabalho atinge `Complete`, ele não muda mais de estado. | 
| `Cancelling` | O trabalho está passando para o estado `Cancelled`. | O trabalho passa automaticamente para `Cancelled` quando o estado `Cancelling` é concluído. | 
| `Cancelled` | Você solicitou que o trabalho fosse cancelado e o Operações em Lote do S3 fez o cancelamento com sucesso. O trabalho não enviará novas solicitações ao Amazon S3. | `Cancelled` é um estado terminal. Quando o trabalho atinge `Cancelled`, ele não muda mais de estado. | 
| `Failing` | O trabalho está passando para o estado `Failed`. | O trabalho passa automaticamente para `Failed` quando o estado `Failing` é concluído. | 
| `Failed` | O trabalho apresentou falha e não está mais em execução. Para obter mais informações sobre falhas em trabalhos, consulte [Monitorar falhas nos trabalhos](#batch-ops-job-status-failure). | `Failed` é um estado terminal. Quando o trabalho atinge `Failed`, ele não muda mais de estado. | 

## Atualizar status do trabalho
<a name="updating-job-statuses"></a>

Os exemplos da AWS CLI e do AWS SDK para Java a seguir atualizam o status de um trabalho do Operações em Lote. Consulte mais informações sobre como usar o console do Amazon S3 para gerenciar trabalhos do Operações em lote em [Usar o console do Simple Storage Service (Amazon S3) para gerenciar trabalhos do S3 Batch Operations](batch-ops-managing-jobs.md#batch-ops-manage-console).

### Como usar o AWS CLI
<a name="batch-ops-example-cli-update-job-status"></a>

Para usar os exemplos de comando a seguir, substitua os {{`user input placeholders`}} por suas próprias informações. 
+ Se você não tiver especificado o parâmetro `--no-confirmation-required` no comando `create-job`, o trabalho permanecerá em um estado suspenso até você confirmar o trabalho definindo o status dele como `Ready`. O Amazon S3 torna o trabalho qualificado para execução.

  ```
  aws s3control update-job-status \
      --region {{us-west-2}} \
      --account-id {{123456789012}} \
      --job-id {{00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c}} \
      --requested-job-status 'Ready'
  ```
+ Para cancelar o trabalho, defina o status do trabalho como `Cancelled`.

  ```
  aws s3control update-job-status \
       --region {{us-west-2}} \
       --account-id {{123456789012}} \
       --job-id {{00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c}} \
       --status-update-reason "{{No longer needed}}" \
       --requested-job-status Cancelled
  ```

### Usar o AWS SDK for Java
<a name="batch-ops-examples-java-update-job-status"></a>

Para ver exemplos de como atualizar o status do trabalho com o AWS SDK para Java, consulte [Update the status of a batch job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_UpdateJobStatus_section.html) na *Referência de API do Amazon S3*.

## Notificações e registro em log
<a name="batch-ops-notifications"></a>

Além de solicitar relatórios de conclusão, você também pode capturar, revisar e auditar as atividades de operações em lote usando o AWS CloudTrail. Como o Operações em Lote usa operações de API existentes do Amazon S3 para realizar tarefas, essas tarefas também emitem os mesmos eventos que emitiriam se você as chamasse diretamente. Portanto, você pode monitorar e registrar o andamento do trabalho e todas as tarefas usando as mesmas ferramentas de notificação, registro em log e auditoria, além dos processos já usados com o Amazon S3. Para obter mais informações, consulte os exemplos nas seções a seguir.

**nota**  
O Operações em Lote gera eventos de gerenciamento e dados no CloudTrail durante a execução do trabalho. O volume desses eventos é escalado com o número de chaves no manifesto de cada trabalho. Consulte mais informações na página [Definição de preço do AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/), que inclui exemplos de como a definição de preço muda dependendo do número de trilhas que você configurou na conta. Para saber como configurar e registrar em log eventos para atender às suas necessidades, consulte [Criar sua primeira trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-tutorial.html#tutorial-step2) no *Guia do usuário do AWS CloudTrail*.

Para obter mais informações sobre eventos do Amazon S3, consulte [Notificações de eventos do Amazon S3](EventNotifications.md). 

## Monitorar falhas nos trabalhos
<a name="batch-ops-job-status-failure"></a>

Se uma operação em lote do S3 encontrar um problema que o impeça de ser executado com êxito, como não ser capaz de ler o manifesto especificado, o trabalho falhará. Quando um trabalho falha, ele gera um ou mais códigos de falha ou motivos de falha. O Operações em Lote do S3 armazena os códigos e os motivos da falha com o trabalho para que você possa visualizá-los solicitando os detalhes do trabalho. Caso você tenha solicitado um relatório de conclusão para o trabalho, os códigos e os motivos de falha também são exibidos.

Para evitar que trabalhos executem um grande número de operações malsucedidas, o Amazon S3 impõe um limite de falhas por tarefa em cada trabalho de operações em lote. O Amazon S3 monitora a taxa de falhas das tarefas depois que o trabalho executa pelo menos 1.000 tarefas. Se, a qualquer momento, a taxa de falha (o número de tarefas que falharam em proporção ao número total de tarefas executadas) exceder 50%, o trabalho vai falhar. Se o trabalho falhar porque excedeu o limite de falhas da tarefa, você poderá identificar a causa das falhas. Por exemplo, você pode ter incluído por acidente alguns objetos no manifesto que não existem no bucket especificado. Depois de corrigir os erros, você pode reenviar o trabalho.

**nota**  
O Operações em Lote do S3 funciona de maneira assíncrona e não necessariamente executa tarefas na ordem em que os objetos estão listados no manifesto. Portanto, não é possível usar a ordem do manifesto para determinar quais tarefas dos objetos foram bem-sucedidas e quais falharam. Em vez disso, examine o relatório de conclusão do trabalho (caso você tenha solicitado um) ou exiba os logs de evento do AWS CloudTrail para ajudar a determinar a origem das falhas.

## Relatórios de conclusão
<a name="batch-ops-completion-report"></a>

Ao criar um trabalho, você solicita um relatório de conclusão. Desde que o Operações em Lote do S3 invoque com êxito pelo menos uma tarefa, o Amazon S3 gerará um relatório de conclusão depois que o trabalho concluir a execução de tarefas, falhar ou ser cancelado. Configure o relatório de conclusão para incluir todas as tarefas ou somente tarefas com falha. 

O relatório de conclusão inclui a configuração do trabalho, o status e as informações de cada tarefa, inclusive a chave e a versão do objeto, status, códigos de erro e descrições de eventuais erros. Os relatórios de conclusão oferecem uma maneira fácil de visualizar os resultados das tarefas em um formato consolidado, sem a necessidade de configurações adicionais. Os relatórios de conclusão são criptografados usando a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3). Para obter um exemplo de um relatório de conclusão, consulte [Exemplos: relatórios de conclusão de operações em lote do S3](batch-ops-examples-reports.md). 

Mesmo que você não configure um relatório de conclusão, ainda poderá monitorar e auditar o trabalho e suas tarefas usando o CloudTrail e o Amazon CloudWatch. Para saber mais, consulte os seguintes tópicos:

**Topics**
+ [Status de trabalhos](#batch-ops-job-status-table)
+ [Atualizar status do trabalho](#updating-job-statuses)
+ [Notificações e registro em log](#batch-ops-notifications)
+ [Monitorar falhas nos trabalhos](#batch-ops-job-status-failure)
+ [Relatórios de conclusão](#batch-ops-completion-report)
+ [Monitorar um trabalho de operações em lote do S3 no Amazon EventBridge por meio do AWS CloudTrail](batch-ops-examples-event-bridge-cloud-trail.md)
+ [Exemplos: relatórios de conclusão de operações em lote do S3](batch-ops-examples-reports.md)