

# Java 카나리에 사용할 수 있는 라이브러리 함수
<a name="CloudWatch_Synthetics_Canaries_Java"></a>

`executeStep` 함수는 카나리 코드를 모듈화하고 단계에서 실행하는 데 사용됩니다. CloudWatch Synthetics에서 Synthetics 단계는 카나리 스크립트를 명확하게 정의된 작업으로 세분화하여, 애플리케이션 여정의 다양한 부분을 개별적으로 모니터링할 수 있는 방법입니다. 각 단계에 대해 CloudWatch Synthetics는 다음을 수행합니다.
+ 각 카나리 실행에 대해 단계 지속 시간, *pass* 또는 *fail* 상태 등과 같은 단계 실행 세부 정보에 대한 요약이 포함된 보고서가 생성됩니다. CloudWatch Synthetics 콘솔에서 실행을 선택하면 **단계** 탭에서 각 단계의 실행 세부 정보를 볼 수 있습니다.
+ 각 단계에 대한 *SuccessPercent* 및 *Duration* CloudWatch 지표가 배출되므로 사용자는 각 단계의 가용성과 지연 시간을 모니터링할 수 있습니다.

   **사용량** 

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

   **파라미터** 
  + *stepName*, String(필수) - Synthetics 단계를 설명하는 이름입니다.
  + *실행할 함수*, Callable<T>(필수) - 실행할 작업을 나타냅니다.
  + *stepOptions*, `com.amazonaws.synthetics.StepOptions (optional)` - 단계 실행을 구성하는 데 사용할 수 있는 StepOptions 객체입니다.

    *stepConfiguration*, ` com.amazonaws.synthetics.StepConfiguration`(stepOptions의 일부분으로 필요)

 **반환** 

반환되는 값은 *CompletableFuture<T>*입니다.

**참고**  
Synthetics는 순차적 단계만 지원합니다. 후속 단계로 진행하기 전에 단계가 완료되도록 예제와 같이 `.get()` 메서드를 호출해야 합니다.