

# 可用于 Java 金丝雀的库函数
<a name="CloudWatch_Synthetics_Canaries_Java"></a>

`executeStep` 函数用于对金丝雀代码进行模块化处理并分步执行。在 CloudWatch Synthetics 中，Synthetics 步骤是一种将您的 Canary 脚本分解为一系列明确定义的操作的方法，允许您分别监控应用程序旅程的不同部分。对于每个步骤，CloudWatch Synthetics 执行以下操作：
+ 每次金丝雀运行都会创建一份报告，包括步骤执行详细信息的摘要，例如步骤的持续时间、*通过*或*失败*状态等。当您在 CloudWatch Synthetics 控制台中选择运行时，您可以在**步骤**选项卡上查看每个步骤的执行详细信息。
+ 每个步骤都会发出 *SuccessPercent* 和 *Duration* CloudWatch 指标，让用户能够监测每个步骤的可用性和延迟情况。

   **用法** 

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

   **参数** 
  + *StepName*，字符串（必填）– Synthetics 步骤的描述性名称
  + *要执行的函数*，Callable<T>（必填）– 表示要执行的任务
  + *stepOptions*，`com.amazonaws.synthetics.StepOptions (optional)`– 可用于配置步骤执行的 StepOptions 对象。

    *stepConfiguration*，` com.amazonaws.synthetics.StepConfiguration`（作为 stepOptions 的一部分时为必填）

 **返回值** 

返回的值为 *CompletableFuture<T>*。

**注意**  
Synthetics 仅支持顺序步骤。务必按示例所示调用 `.get()` 方法，确保在执行后续步骤前当前步骤已完成。