

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 Java Canary 的程式庫函式
<a name="CloudWatch_Synthetics_Canaries_Java"></a>

`executeStep` 函式用於模組化 Canary 程式碼，並逐步執行。在 CloudWatch Synthetics 中，Synthetics 步驟是將 Canary 指令碼分解為一系列明確定義動作的方式，讓您能夠分別監控應用程式旅程的不同環節。對於每個步驟，CloudWatch Synthetics 會執行下列動作：
+ 針對每個 Canary 執行過程，系統會產生一份報告，包括步驟執行詳細資訊的摘要，例如步驟持續時間、*通過*或*失敗*狀態等。當您在 CloudWatch Synthetics 主控台中選擇執行時，可以在**步驟**索引標籤上檢視每個步驟的執行詳細資訊。
+ 每個步驟都會發出 *SuccessPercent* 和 *Duration* CloudWatch 指標，讓使用者能夠監控每個步驟的可用性和延遲。

   **用途** 

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

   **參數** 
  + *stepName*，字串 (必要) – Synthetics 步驟的描述性名稱
  + *function to execute*，Callable<T> (必要) – 代表要執行的任務
  + *stepOptions*，`com.amazonaws.synthetics.StepOptions (optional)` – 可用來設定步驟執行的 StepOptions 物件。

    *stepConfiguration*，` com.amazonaws.synthetics.StepConfiguration` (stepOptions 的必要項目)

 **傳回值** 

傳回的值為 *CompletableFuture<T>*。

**注意**  
Synthetics 僅支援循序步驟。請務必如範例所示呼叫 `.get()` 方法，以確保步驟完成，然後再繼續完成後續步驟。