

# Funções da biblioteca disponíveis para canário em Java
<a name="CloudWatch_Synthetics_Canaries_Java"></a>

A função `executeStep` é usada para modularizar o código do canário e executá-lo em etapas. No CloudWatch Synthetics, uma etapa do Synthetics é uma forma de dividir seu script do canário em uma série de ações claramente definidas, permitindo que você monitore diferentes partes de sua jornada de aplicação separadamente. Para cada etapa, o CloudWatch Synthetics faz o seguinte:
+ Para cada execução do canário, é criado um relatório que inclui um resumo dos detalhes da execução das etapas, como duração de uma etapa, status de *com êxito* ou *com falha*, entre outros. Ao escolher uma execução no console do CloudWatch Synthetics, você pode visualizar os detalhes da execução de cada etapa na guia **Etapa**.
+ As métricas *SuccessPercent* e *Duration* do CloudWatch são emitidas para cada etapa, possibilitando que os usuários monitorem a disponibilidade e a latência de cada uma delas.

   **Usage** 

  ```
  synthetics.executeStep(stepName,()->{
      try {
          //step code to be executed
          return null;
      } catch (Exception e) {
          throw e;
      }
  }).get();
  ```

   **Parâmetros** 
  + *stepName*, String (obrigatório): um nome descritivo para a etapa do Synthetics
  + *function to execute*, Callable<T> (obrigatório): representa as tarefas a serem executadas
  + *stepOptions*, `com.amazonaws.synthetics.StepOptions (optional)`:o objeto stepOptions que pode ser usado para configurar a execução da etapa. 

    *stepConfiguration*, ` com.amazonaws.synthetics.StepConfiguration` (obrigatório como parte do objeto stepOptions)

 **Devoluções** 

O valor retornado é *CompletableFuture<T>*.

**nota**  
O Synthetics é compatível somente com etapas sequenciais. Certifique-se de chamar o método `.get()`, conforme mostrado no exemplo, para garantir que esta etapa esteja concluída antes de prosseguir para a próxima etapa.