

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

# 使用 Step Functions 的入門範本部署狀態機器
<a name="starter-templates"></a>

若要針對各種範例使用案例和模式部署狀態機器，您可以在 [AWS Step Functions主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)中選擇下列其中一個入門範本。這些入門範本是ready-to-run的範例專案，可自動建立工作流程原型和定義，以及專案的所有相關AWS資源。

您可以使用這些範例專案依原狀部署和執行，或使用工作流程原型來建置。如果您以這些專案為基礎，Step Functions 會建立工作流程原型，但不會部署工作流程定義中列出的資源。

當您部署範例專案時，他們會佈建功能完整的狀態機器，並建立要執行的狀態機器的相關資源。當您建立範例專案時，Step Functions 會使用 CloudFormation來建立狀態機器參考的相關資源。

**Topics**
+ [使用 Amazon ECS和 管理容器任務 Amazon SNS](sample-project-container-task-notification.md)
+ [使用 Lambda、 DynamoDB和 傳輸資料記錄 Amazon SQS](sample-project-transfer-data-sqs.md)
+ [使用 Lambda 和 輪詢任務狀態 AWS Batch](sample-project-job-poller.md)
+ [使用 Lambda 和 Amazon SNS 建立任務計時器](task-timer-sample.md)
+ [使用 Amazon SQS、Amazon SNS 和 Lambda 建立回呼模式範例](callback-task-sample-sqs.md)
+ [管理 Amazon EMR 任務](sample-emr-job.md)
+ [執行 EMR Serverless任務](sample-emr-serverless-job.md)
+ [使用 Step Functions 和 Lambda 在工作流程內啟動工作流程](sample-start-workflow.md)
+ [在 Step Functions 中處理來自具有映射狀態之佇列的資料](sample-map-state.md)
+ [使用分散式映射處理來自 Amazon S3 的 CSV 檔案](sample-dist-map-csv-process.md)
+ [使用分散式映射處理 Amazon S3 儲存貯體中的資料](sample-dist-map-s3data-process.md)
+ [使用 Amazon SageMaker AI 訓練機器學習模型](sample-train-model.md)
+ [在 SageMaker AI 中調校機器學習模型的超參數](sample-hyper-tuning.md)
+ [使用 Amazon Bedrock 執行 AI 提示鏈](sample-bedrock-prompt-chaining.md)
+ [使用 Step Functions Express 工作流程處理來自 Amazon SQS 的大量訊息](sample-project-express-high-volume-sqs.md)
+ [使用標準和快速工作流程執行選擇性檢查點](sample-project-express-selective-checkpointing.md)
+ [使用 Step Functions 建置 AWS CodeBuild 專案](sample-project-codebuild.md)
+ [使用 Amazon SageMaker AI 預先處理資料和訓練機器學習模型](sample-preprocess-feature-transform.md)
+ [AWS Lambda 使用 Step Functions 協調函數](sample-lambda-orchestration.md)
+ [啟動 Athena 查詢並傳送結果通知](sample-athena-query.md)
+ [使用 Athena 依序並平行執行查詢](run-multiple-queries.md)
+ [使用 AWS Glue 爬蟲程式查詢大型資料集](sample-query-large-datasets.md)
+ [使用 AWS Glue 和 Athena 更新目標資料表中的資料](sample-keep-data-updated.md)
+ [使用節點群組建立和管理 Amazon EKS 叢集](sample-eks-cluster.md)
+ [與 API Gateway 管理的 API 互動](sample-apigateway-workflow.md)
+ [使用 API Gateway 整合呼叫在 Fargate 上執行的微服務](sample-apigateway-ecs-workflow.md)
+ [將自訂事件傳送至 EventBridge 事件匯流排](sample-eventbridge-custom-event.md)
+ [透過 API Gateway 叫用同步快速工作流程](synchronous-execution.md)
+ [使用 Step Functions 和 Amazon Redshift API 執行 ETL/ELT 工作流程](sample-etl-orchestration.md)
+ [使用 AWS Batch和 管理批次任務 Amazon SNS](batch-job-notification.md)
+ [散發具有映射狀態的批次任務](sample-batch-fan-out.md)
+ [使用 Lambda 執行 AWS Batch 任務](sample-batch-lambda.md)

# 使用 Amazon ECS和 管理容器任務 Amazon SNS
<a name="sample-project-container-task-notification"></a>

此範例專案示範如何執行 AWS Fargate任務，然後根據該任務是否成功傳送Amazon SNS通知。部署此範例專案將建立 AWS Step Functions 狀態機器、Fargate叢集和 Amazon SNS主題。

在此專案中， Step Functions會使用狀態機器來同步呼叫Fargate任務。它會等待任務成功或失敗，然後傳送 Amazon SNS 主題，其中包含工作成功或失敗的訊息。

## 步驟 1：建立狀態機器
<a name="sample-project-container-task-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如 函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-container-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Lambda、 DynamoDB和 傳輸資料記錄 Amazon SQS
<a name="sample-project-transfer-data-sqs"></a>

此範例專案示範如何反覆從 Amazon DynamoDB 資料表讀取項目，並使用Step Functions狀態機器將這些項目傳送至 Amazon SQS佇列。部署此範例專案會建立Step Functions狀態機器、DynamoDB資料表、 AWS Lambda函數和 Amazon SQS佇列。

在此專案中， Step Functions會使用 Lambda函數來填入DynamoDB資料表。狀態機器也會使用`for`迴圈來讀取每個項目，然後將每個項目傳送至 Amazon SQS佇列。

## 步驟 1：建立狀態機器
<a name="sample-project-transfer-data-sqs-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **在其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-sqs-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Lambda 和 輪詢任務狀態 AWS Batch
<a name="sample-project-job-poller"></a>

此範例專案會建立 AWS Batch 任務輪詢器。它實作 AWS Step Functions 狀態機器，使用 AWS Lambda 來建立狀態`Wait`迴圈，以檢查任務 AWS Batch 。

此範例專案會建立和設定所有資源，讓您的 Step Functions 工作流程將提交 AWS Batch 任務，並等待該任務完成，然後再成功結束。

**注意**  
您也可以實作此模式，而無需使用 Lambda 函數。如需 AWS Batch 直接控制的詳細資訊，請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。

此範例專案會建立狀態機器、兩個 Lambda 函數和 AWS Batch 佇列，並設定相關的 IAM 許可。

如需如何 AWS Step Functions 控制其他 AWS 服務的詳細資訊，請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。

## 步驟 1：建立狀態機器
<a name="sample-project-job-poller-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="job-status-poller-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Lambda 和 Amazon SNS 建立任務計時器
<a name="task-timer-sample"></a>

此範例專案會建立任務計時器。它實作 狀態 AWS Step Functions 機器來實作 `Wait` 狀態，並使用 AWS Lambda 函數來傳送 Amazon Simple Notification Service (Amazon SNS) 通知。[等待工作流程狀態](state-wait.md) 状态是等待触发器执行单个工作单元的状态类型。

**注意**  
此範例專案實作 AWS Lambda 函數來傳送 Amazon Simple Notification Service (Amazon SNS) 通知。您也可以直接從 Amazon States Language 傳送 Amazon SNS 通知。請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。

此範例專案會建立狀態機器、Lambda 函數和 Amazon SNS 主題，並設定相關的 AWS Identity and Access Management (IAM) 許可。如需使用 **Task Timer (任務計時器)** 範例專案建立的資源詳細資訊，請參閱以下內容：

如需如何 AWS Step Functions 控制其他 AWS 服務的詳細資訊，請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。
+ [AWS CloudFormation 使用者指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)
+ 《Amazon Simple Notification Service 開發人員指南》[https://docs.aws.amazon.com/sns/latest/dg/](https://docs.aws.amazon.com/sns/latest/dg/)
+ [AWS Lambda 開發人員指南](https://docs.aws.amazon.com/lambda/latest/dg/)
+ [IAM 入門指南](https://docs.aws.amazon.com/IAM/latest/GettingStartedGuide/)

## 步驟 1：建立狀態機器
<a name="task-timer-create-resources"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="task-timer-run-state-machine"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Amazon SQS、Amazon SNS 和 Lambda 建立回呼模式範例
<a name="callback-task-sample-sqs"></a>

此範例專案示範如何在任務期間 AWS Step Functions 暫停，並等待外部程序傳回任務啟動時產生的任務字符。

若要了解如何在 Step Functions 中實作回呼模式，請參閱 [使用任務字符等待回呼](connect-to-resource.md#connect-wait-token)。

如需如何 AWS Step Functions 控制其他 AWS 服務的詳細資訊，請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。

## 步驟 1：建立狀態機器
<a name="callback-pattern-create-resources"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="callback-pattern-run-state-machine"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 管理 Amazon EMR 任務
<a name="sample-emr-job"></a>

此範例專案示範 Amazon EMR 和 AWS Step Functions整合。專案會建立 Amazon EMR 叢集、新增多個步驟並執行它們，然後終止叢集。



**重要**  
Amazon EMR 沒有免費定價方案。執行範例專案將產生費用。您可以在 [Amazon EMR 定價頁面上找到定價](https://aws.amazon.com//emr/pricing/)資訊。Amazon EMR 服務整合的可用性取決於 Amazon EMR APIs的可用性。因此，此範例專案在某些AWS區域中可能無法正常運作。如需特殊區域中的限制，請參閱 [Amazon EMR](https://docs.aws.amazon.com//govcloud-us/latest/UserGuide/govcloud-emr.html) 文件。

## 步驟 1：建立狀態機器
<a name="sample-emr-manage"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **在上面建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-container-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待CloudFormation堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 執行 EMR Serverless任務
<a name="sample-emr-serverless-job"></a>

此範例專案示範如何建立和啟動EMR Serverless應用程式，並在其中執行多個任務。

此範例專案會建立狀態機器、支援AWS的資源，並設定相關的 IAM 許可。探索此範例專案，以了解如何使用Step Functions狀態機器執行EMR Serverless任務，或將其用作您自己的專案的起點。

**重要**  
EMR Serverless 沒有免費定價方案。執行範例專案將產生費用。您可以在定價頁面上找到 [Amazon EMR Serverless 定價](https://aws.amazon.com//emr/pricing/)資訊。  
此外，EMR Serverless服務整合的可用性取決於 EMR Serverless APIs的可用性。因此，此範例專案可能無法正常運作或在某些範例專案中可用AWS 區域。如需 EMR Serverless 中的可用性資訊，請參閱[其他考量](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/considerations.html)主題AWS 區域。

## 步驟 1：建立狀態機器
<a name="sample-emr-serverless-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**上面建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-emr-serverless-run"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待CloudFormation堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Step Functions 和 Lambda 在工作流程內啟動工作流程
<a name="sample-start-workflow"></a>

此範例專案示範如何使用 AWS Step Functions 狀態機器來啟動其他 狀態機器執行。如需從另一個狀態機器啟動狀態機器執行的相關資訊，請參閱 [從 Step Functions 中的任務狀態啟動工作流程執行](concepts-nested-workflows.md)。

## 步驟 1：建立狀態機器
<a name="sample-start-workflow-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-start-workflow-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 在 Step Functions 中處理來自具有映射狀態之佇列的資料
<a name="sample-map-state"></a>

在此範例工作流程中， [映射工作流程狀態](state-map.md) 狀態會處理佇列中的資料、傳送訊息給訂閱者，並將他們儲存在資料庫中。

Step Functions 使用最佳化整合從 Amazon SQS 佇列提取訊息。當訊息可用時，[Choice](state-choice.md)狀態會將一系列 JSON 訊息傳遞至 [Map](state-map.md) 狀態進行處理。對於每則訊息，狀態機器都會將訊息寫入 DynamoDB、從佇列中移除訊息，並將訊息發佈至 Amazon SNS 主題。

## 步驟 1：建立狀態機器
<a name="sample-map-state-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如 函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：訂閱 Amazon SNS 主題
<a name="sample-map-subscribe-topic"></a>

**提示**  
訂閱 Amazon SNS 主題，並在執行狀態機器**之前**將項目新增至 Amazon SQS 佇列。

1. 開啟 [Amazon SNS 主控台](https://console.aws.amazon.com/sns/home)。

1. 選擇**主題**並尋找範例專案建立的主題。

1. 選擇**建立訂閱**，然後針對**通訊協定**選擇**電子郵件**。

1. 在**端點**下，輸入您的電子郵件地址以訂閱主題。

1. 選擇**建立訂閱**。

1. 確認電子郵件中的訂閱以啟用訂閱。

## 步驟 3：將訊息新增至 Amazon SQS 佇列
<a name="sample-map-create-queue"></a>

1. 開啟 [Amazon SQS 主控台](https://console.aws.amazon.com/sqs/home)。

1. 選擇範例專案建立的佇列。

1. 選擇**傳送和接收訊息**，輸入訊息，然後選擇**傳送訊息**。重複此步驟，將數個訊息新增至佇列。

## 步驟 4：執行狀態機器
<a name="sample-map-start-execution"></a>

**提示**  
Amazon SNS 中的佇列最終一致。傳送訊息至佇列後，您可能需要等待幾分鐘，才能執行狀態機器。

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用分散式映射處理來自 Amazon S3 的 CSV 檔案
<a name="sample-dist-map-csv-process"></a>

此範例專案示範如何使用[*分散式映射狀態*](state-map-distributed.md)來反覆執行使用 Lambda函數產生的 CSV 檔案超過 10，000 個資料列。CSV 檔案包含客戶訂單的運送資訊，並存放在 Amazon S3 儲存貯體中。分散式映射會反覆運算 CSV 檔案中 10 個資料列的批次，以進行資料分析。

分散式地圖包含偵測任何延遲訂單的 Lambda 函數。分散式地圖也包含[內嵌地圖](state-map-inline.md)，以處理批次中的延遲訂單，並在陣列中傳回這些延遲訂單。對於每個延遲的順序，內嵌映射會傳送訊息至 Amazon SQS佇列。最後，此範例專案會將 [Map Run](concepts-examine-map-run.md) 結果儲存到 中的另一個 Amazon S3 儲存貯體 AWS 帳戶。

透過分散式地圖，您一次最多可以執行 10，000 個平行子工作流程執行。在此範例專案中，分散式映射的最大並行設定為 1000，限制為 1000 個平行子工作流程執行。

此範例專案會建立狀態機器、支援 AWS 的資源，並設定相關的 IAM 許可。探索此範例專案，了解如何使用分散式地圖來協調大規模的平行工作負載，或使用它做為您自己的專案的起點。

## 步驟 1：建立狀態機器
<a name="sample-dist-map-csv-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-dist-map-csv-run"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用分散式映射處理 Amazon S3 儲存貯體中的資料
<a name="sample-dist-map-s3data-process"></a>

此範例專案示範如何使用[*分散式地圖狀態*](state-map-distributed.md)來處理大規模資料，例如，分析歷史天氣資料，並識別每月平均溫度最高的天氣站。天氣資料會記錄在超過 12，000 個 CSV 檔案中，然後存放在 Amazon S3 儲存貯體中。

此範例專案包含兩個名為分散式 ** S3 複本 NOA 資料和 ProcessNOAAData 的分散式***映射狀態* 。 **ProcessNOAAData** **分散式 S3 複製 NOA 資料**會逐一查看名為 **noaa-gsod-pds** 的公有 Amazon S3 儲存貯體中的 CSV 檔案，並將其複製到您 中的 Amazon S3 儲存貯體 AWS 帳戶。**ProcessNOAAData** 會反覆查看複製的檔案，並包含執行溫度分析的 Lambda 函數。

範例專案會先透過呼叫 [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) API 動作來檢查 Amazon S3 儲存貯體的內容。根據回應此呼叫時傳回的[金鑰](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#AmazonS3-ListObjectsV2-response-MaxKeys)數目，範例專案會採取下列其中一個決策：
+ 如果金鑰計數大於或等於 1，專案會轉換為 **ProcessNOAAData** 狀態。此*分散式地圖狀態*包含名為 **TemperatureFunction** 的Lambda函數，可尋找每月平均溫度最高的氣象站。此函數會傳回具有 `year-month`作為索引鍵的字典，以及包含有關氣象站資訊作為值的字典。
+ 如果傳回的金鑰計數不超過 1，**分散式 S3 複製 NOA 資料**狀態會列出公有儲存貯體 **noaa-gsod-pds** 中的所有物件，並反覆將個別物件分 100 個批次複製到您帳戶中的另一個儲存貯體。[內嵌映射](state-map-inline.md)會執行物件的反覆複製。

  複製所有物件後，專案會轉換為 **ProcessNOAAData** 狀態以處理天氣資料。

範例專案最終會轉換為還原程式Lambda函數，該函數會執行 **TemperatureFunction** 函數傳回之結果的最終彙總，並將結果寫入Amazon DynamoDB資料表。

透過分散式地圖，您一次最多可以執行 10，000 個平行子工作流程執行。在此範例專案中，**ProcessNOAAData** Distributed Map 的最大並行設定為 3000，限制為 3000 個平行子工作流程執行。

此範例專案會建立狀態機器、支援 AWS 的資源，並設定相關的 IAM 許可。探索此範例專案，了解如何使用分散式地圖來協調大規模的平行工作負載，或使用它做為您自己的專案的起點。

**重要**  
此範例專案僅適用於美國東部 （維吉尼亞北部） 區域。

## 步驟 1：建立狀態機器
<a name="sample-dist-map-s3data-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-dist-map-s3data-run"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Amazon SageMaker AI 訓練機器學習模型
<a name="sample-train-model"></a>

此範例專案示範如何使用 SageMaker AI 和 AWS Step Functions 來訓練機器學習模型，以及如何批次轉換測試資料集。

在此專案中，Step Functions 使用 Lambda 函數來植入具有測試資料集的 Amazon S3 儲存貯體。然後，它會訓練機器學習模型，並使用 [SageMaker AI 服務整合](connect-sagemaker.md)執行批次轉換。

如需 SageMaker AI 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立和管理 Amazon SageMaker AI 任務](connect-sagemaker.md)

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [SageMaker AI 定價](https://aws.amazon.com/sagemaker/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-train-model-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-train-model-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 在 SageMaker AI 中調校機器學習模型的超參數
<a name="sample-hyper-tuning"></a>

此範例專案示範如何使用 SageMaker AI 來調校機器學習模型的超參數，以及批次轉換測試資料集。

在此專案中，Step Functions 使用 Lambda 函數來植入具有測試資料集的 Amazon S3 儲存貯體。然後，它會使用 [SageMaker AI 服務整合](connect-sagemaker.md)建立超參數調校任務。然後，它會使用 Lambda 函數來擷取資料路徑、儲存調校模型、擷取模型名稱，然後執行批次轉換任務以在 SageMaker AI 中執行推論。

如需 SageMaker AI 和 Step Functions 服務整合的詳細資訊，請參閱以下內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立和管理 Amazon SageMaker AI 任務](connect-sagemaker.md)

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [SageMaker AI 定價](https://aws.amazon.com/sagemaker/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-hyper-tuning-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-hyper-tuning-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Amazon Bedrock 執行 AI 提示鏈
<a name="sample-bedrock-prompt-chaining"></a>

此範例專案示範如何與 整合Amazon Bedrock，以使用 執行 AI 提示鏈結並建置高品質的聊天機器人Amazon Bedrock。專案會鏈結一些提示，並以提供它們的順序加以解析。這些提示的鏈結可增強語言模型用於提供高度策劃回應的能力。

此範例專案會建立狀態機器、支援 AWS 的資源，並設定相關的 IAM 許可。探索此範例專案，了解如何將Amazon Bedrock最佳化服務整合與Step Functions狀態機器搭配使用，或使用它做為您自己的專案起點。

## 先決條件
<a name="sample-bedrock-prerequisites"></a>

此範例專案使用 Cohere Command 大型語言模型 (LLM)。若要成功執行此範例專案，您必須從Amazon Bedrock主控台新增此 LLM 的存取權。若要新增模型存取，請執行下列動作：

1. 開啟 [Amazon Bedrock 主控台](https://console.aws.amazon.com/bedrock)。

1. 在導覽窗格中，選擇**模型存取**。

1. 選擇**管理模型存取**。

1. 選取 **Cohere** 旁的核取方塊。

1. 選擇**請求存取**。**Cohere** 模型的**存取狀態**會顯示為**授予存取**。

## 步驟 1：建立狀態機器
<a name="sample-bedrock-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-bedrock-run"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Step Functions Express 工作流程處理來自 Amazon SQS 的大量訊息
<a name="sample-project-express-high-volume-sqs"></a>

此範例專案示範如何使用 AWS Step Functions 快速工作流程來處理來自大量事件來源的訊息或資料，例如 Amazon Simple Queue Service (Amazon SQS)。由於快速工作流程能以非常高的速率啟動，因此非常適用於大量事件處理或串流資料工作負載。

以下是從事件來源執行狀態機器的兩種常用方法：
+ **設定 Amazon CloudWatch Events 規則，以便在事件來源發出事件時啟動狀態機器執行。**如需詳細資訊，請參閱[建立由事件觸發的 CloudWatch Events 規則](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html).
+ **將事件來源映射至 Lambda 函數，然後撰寫函數程式碼以執行您的狀態機器。**每次事件來源發出事件時都會叫用 AWS Lambda 函數，進而啟動狀態機器執行。如需詳細資訊，請參閱[搭配使用 AWS Lambda 與 Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)。

此範例專案使用第二個方法來在每次 Amazon SQS 佇列傳送訊息時啟動執行。您可以使用類似的組態，從其他事件來源觸發快速工作流程執行，例如 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 和 Amazon Kinesis。

如需快速工作流程和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [在 Step Functions 中選擇工作流程類型](choosing-workflow-type.md)
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [Step Functions 服務配額](service-quotas.md)

## 步驟 1：建立狀態機器
<a name="sample-project-high-volume-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：觸發狀態機器執行
<a name="trigger-execution"></a>

1. 開啟 [Amazon SQS 主控台](https://console.aws.amazon.com/sqs)。

1. 選取由範例專案建立的佇列。

   該名稱將類似於 **Example-SQSQueue-wJalrXUtnFEMI**。

1. 在 **Queue Actions (佇列動作)** 清單中，選取 **Send a Message (傳送訊息)**。

1. 使用複製按鈕來複製以下訊息，然後在 **Send a Message (傳送訊息)** 視窗中，輸入該訊息，然後選擇 **Send Message (傳送訊息)**。
**注意**  
在此範例訊息中，`input:` 行已使用換行符號進行格式化以符合頁面。使用複製按鈕，或確保將該行輸入為不換行的單一行。

   ```
   {
         "input": "QW5kIGxpa2UgdGhlIGJhc2VsZXNzIGZhYnJpYyBvZiB0aGlzIHZpc2lvbiwgVGhlIGNsb3VkLWNhcHBlZCB0b3dlcnMsIHRoZSBnb3JnZW
                   91cyBwYWxhY2VzLCBUaGUgc29sZW1uIHRlbXBsZXMsIHRoZSBncmVhdCBnbG9iZSBpdHNlbGbigJQgWWVhLCBhbGwgd2hpY2ggaXQgaW5o
                   ZXJpdOKAlHNoYWxsIGRpc3NvbHZlLCBBbmQgbGlrZSB0aGlzIGluc3Vic3RhbnRpYWwgcGFnZWFudCBmYWRlZCwgTGVhdmUgbm90IGEgcm
                   FjayBiZWhpbmQuIFdlIGFyZSBzdWNoIHN0dWZmIEFzIGRyZWFtcyBhcmUgbWFkZSBvbiwgYW5kIG91ciBsaXR0bGUgbGlmZSBJcyByb3Vu
                   ZGVkIHdpdGggYSBzbGVlcC4gU2lyLCBJIGFtIHZleGVkLiBCZWFyIHdpdGggbXkgd2Vha25lc3MuIE15IG9sZCBicmFpbiBpcyB0cm91Ym
                   xlZC4gQmUgbm90IGRpc3R1cmJlZCB3aXRoIG15IGluZmlybWl0eS4gSWYgeW91IGJlIHBsZWFzZWQsIHJldGlyZSBpbnRvIG15IGNlbGwg
                   QW5kIHRoZXJlIHJlcG9zZS4gQSB0dXJuIG9yIHR3byBJ4oCZbGwgd2FsayBUbyBzdGlsbCBteSBiZWF0aW5nIG1pbmQu"
   }
   ```

1. 選擇**關閉**。

1. 開啟 [Step Functions 主控台]()。

1.  前往 [Amazon CloudWatch Logs 日誌群組](https://console.aws.amazon.com/cloudwatch/home?#logs:)並檢查日誌。日誌群組的名稱看起來會像是 **example-ExpressLogGroup-wJalrXUtnFEMI**。

# 使用標準和快速工作流程執行選擇性檢查點
<a name="sample-project-express-selective-checkpointing"></a>

此範例專案示範如何藉由執行會進行選擇性檢查點的模擬電子商務工作流程，來結合標準和快速工作流程。部署此範例專案會建立標準工作流程狀態機器、巢狀 Express Workflows 狀態機器、 AWS Lambda 函數、Amazon Simple Queue Service (Amazon SQS) 佇列，以及 Amazon Simple Notification Service (Amazon SNS) 主題。

如需快速工作流程、巢狀工作流程和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [在 Step Functions 中選擇工作流程類型](choosing-workflow-type.md)
+  [從 Step Functions 中的任務狀態啟動工作流程執行](concepts-nested-workflows.md) 
+ [將 服務與 Step Functions 整合](integrate-services.md)

## 步驟 1：建立狀態機器
<a name="sample-project-express-selective"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-selective-checkpointing-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Step Functions 建置 AWS CodeBuild 專案
<a name="sample-project-codebuild"></a>

此範例專案示範如何使用 AWS Step Functions 來建置 AWS CodeBuild 專案、執行測試，然後根據結果傳送 Amazon SNS 通知。

## 步驟 1：建立狀態機器
<a name="sample-project-codebuild-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-project-codebuild-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Amazon SageMaker AI 預先處理資料和訓練機器學習模型
<a name="sample-preprocess-feature-transform"></a>

此範例專案示範如何使用 SageMaker AI 和 AWS Step Functions 預先處理資料和訓練機器學習模型。

在此專案中，Step Functions 使用 Lambda 函數，以測試資料集和 Python 指令碼植入 Amazon S3 儲存貯體以進行資料處理。然後，它會訓練機器學習模型，並使用 [SageMaker AI 服務整合](connect-sagemaker.md)執行批次轉換。

如需 SageMaker AI 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立和管理 Amazon SageMaker AI 任務](connect-sagemaker.md)

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [SageMaker AI 定價](https://aws.amazon.com/sagemaker/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-preprocess-feature-transform-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-preprocess-feature-transform-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# AWS Lambda 使用 Step Functions 協調函數
<a name="sample-lambda-orchestration"></a>

**Orchestrate Lambda 函數**範本在範例股票交易工作流程中使用數個 Lambda 函數。一個函數檢查股票價格，然後提示人類選擇購買或銷售股票。選擇狀態會根據`recommended_type`變數選取下一個函數，以完成購買或銷售。任一個函數完成後，交易的結果會在工作流程結束之前發佈。

若要實作人工核准步驟，工作流程執行會暫停，直到傳回唯一的 TaskToken。在此專案中，工作流程會將含有任務字符的訊息傳遞至 Amazon SQS 佇列。訊息會觸發另一個 Lambda 函數，其設定為根據訊息的承載處理回呼。工作流程會暫停，直到收到來自 [https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskSuccess.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskSuccess.html) API 呼叫的任務字符為止。如需任務字符的詳細資訊，請參閱 [使用任務字符等待回呼](connect-to-resource.md#connect-wait-token)。

![\[狀態機器的說明性檢視\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/sample-lambda-orchestration.png)


## 步驟 1：建立狀態機器
<a name="sample-lambda-orchestration-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-lambda-orchestration-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

如需 Step Functions 服務整合的詳細資訊，請參閱 [將 服務與 Step Functions 整合](integrate-services.md)。

# 啟動 Athena 查詢並傳送結果通知
<a name="sample-athena-query"></a>

此範例專案示範如何使用 Step Functions 和 Amazon Athena 啟動 Athena 查詢，並使用標準工作流程傳送具有查詢結果的通知。

在此專案中，Step Functions 使用 Lambda 函數和 AWS Glue 爬蟲程式來產生一組範例資料。然後，它會使用 [Athena 服務整合](connect-athena.md)執行查詢，並使用 SNS 主題傳回結果。

如需 Athena 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 執行 Athena 查詢](connect-athena.md)

## 步驟 1：建立狀態機器
<a name="sample-athena-query-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-athena-query-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Athena 依序並平行執行查詢
<a name="run-multiple-queries"></a>

此範例專案示範如何連續執行 Athena 查詢，然後平行處理錯誤，然後根據查詢是否成功傳送 Amazon SNS 通知。

在此專案中，Step Functions 會使用狀態機器同步執行 Athena 查詢。傳回查詢結果後，使用兩個平行執行的 Athena 查詢進入平行狀態。然後，它會等待任務成功或失敗，並傳送包含任務成功或失敗訊息的 Amazon SNS 主題。

## 步驟 1：建立狀態機器
<a name="run-multi-query-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-run-multi-query-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 AWS Glue 爬蟲程式查詢大型資料集
<a name="sample-query-large-datasets"></a>

此範例專案示範如何在 Amazon S3 中擷取大型資料集，並透過 AWS Glue 爬蟲程式分割，然後針對該分割區執行 Amazon Athena 查詢。

在此專案中，Step Functions 狀態機器會叫用 AWS Glue 爬蟲程式，以分割 Amazon S3 中的大型資料集。一旦 AWS Glue 爬蟲程式傳回成功訊息，工作流程就會針對該分割區執行 Athena 查詢。一旦查詢執行成功完成，Amazon SNS 通知就會傳送至 Amazon SNS 主題。

## 步驟 1：建立狀態機器
<a name="sample-query-large-datasets-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-query-large-datasets-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 AWS Glue 和 Athena 更新目標資料表中的資料
<a name="sample-keep-data-updated"></a>

此範例專案示範如何使用 AWS Glue Catalog 查詢目標資料表以取得目前資料，然後使用 Amazon Athena 以來自其他來源的新資料進行更新。

在此專案中，Step Functions 狀態機器會呼叫 AWS Glue Catalog，以驗證目標資料表是否存在於 Amazon S3 儲存貯體中。如果找不到資料表，則會建立新的資料表。然後， Step Functions會執行 Athena 查詢，將資料列從不同的資料來源新增至目標資料表：首先查詢目標資料表以取得最新的日期，然後查詢來源資料表以取得最新的資料，並將其插入目標資料表。

## 步驟 1：建立狀態機器
<a name="sample-keep-data-updated-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署到您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-keep-data-updated-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用節點群組建立和管理 Amazon EKS 叢集
<a name="sample-eks-cluster"></a>

此範例專案示範如何使用 Step Functions 和 Amazon Elastic Kubernetes Service 建立具有節點群組的 Amazon EKS 叢集、在 Amazon EKS 上執行任務，然後檢查輸出。完成後，它會移除節點群組和 Amazon EKS 叢集。

如需 Step Functions 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立和管理 Amazon EKS 叢集](connect-eks.md)

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [Amazon EKS 定價](https://aws.amazon.com/eks/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-eks-cluster-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-eks-cluster-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 與 API Gateway 管理的 API 互動
<a name="sample-apigateway-workflow"></a>

此範例專案示範如何使用 Step Functions 呼叫 API Gateway，並檢查呼叫是否成功。

如需 API Gateway 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立 API Gateway REST APIs](connect-api-gateway.md)

## 步驟 1：建立 狀態
<a name="sample-apigateway-workflow-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如 函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-apigateway-workflow-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 API Gateway 整合呼叫在 Fargate 上執行的微服務
<a name="sample-apigateway-ecs-workflow"></a>

此範例專案示範如何使用 Step Functions 呼叫 API Gateway，以便與 上的服務互動 AWS Fargate，以及檢查呼叫是否成功。

如需 API Gateway 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 建立 API Gateway REST APIs](connect-api-gateway.md)

## 步驟 1：建立狀態機器
<a name="sample-apigateway-ecs-workflow-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-apigateway-ecs-workflow-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 將自訂事件傳送至 EventBridge 事件匯流排
<a name="sample-eventbridge-custom-event"></a>

此範例專案示範如何使用 Step Functions 將自訂事件傳送至符合具有多個目標 (Amazon EventBridge、Amazon Simple Notification Service AWS Lambda、Amazon Simple Queue Service) 規則的事件匯流排。

如需 Step Functions 和 Step Functions 服務整合的詳細資訊，請參閱下列內容：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+ [使用 Step Functions 新增 EventBridge 事件](connect-eventbridge.md)

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [EventBridge 定價](https://aws.amazon.com/eventbridge/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-eventbridge-custom-event-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-eventbridge-custom-event-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 透過 API Gateway 叫用同步快速工作流程
<a name="synchronous-execution"></a>

此範例專案示範如何透過 Amazon API Gateway 叫用同步快速工作流程來管理員工資料庫。

在此專案中，Step Functions 會使用 API Gateway 端點來啟動 Step Functions 同步快速工作流程。然後，它們會使用 DynamoDB 來搜尋、新增和移除員工資料庫中的員工。

如需 Step Functions 同步快速工作流程的詳細資訊，請參閱 [Step Functions 中的同步和非同步快速工作流程](choosing-workflow-type.md#concepts-express-synchronous)。

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需 AWS 成本和免費方案的詳細資訊，請參閱 [Step Functions 定價](https://aws.amazon.com/step-functions/pricing/)。

## 步驟 1：建立狀態機器
<a name="synchronous-execution-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. **建置 –** 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="synchronous-execution-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Step Functions 和 Amazon Redshift API 執行 ETL/ELT 工作流程
<a name="sample-etl-orchestration"></a>

此範例專案示範如何使用 Step Functions 和 Amazon Redshift Data API 執行 ETL/ELT 工作流程，將資料載入 Amazon Redshift 資料倉儲。

在此專案中，Step Functions 會使用 AWS Lambda 函數和 Amazon Redshift Data API 來建立所需的資料庫物件並產生一組範例資料，然後平行執行兩個任務，以執行載入維度資料表，接著執行事實資料表。一旦兩個維度載入任務成功結束，Step Functions 會執行事實資料表的載入任務、執行驗證任務，然後暫停 Amazon Redshift 叢集。

**注意**  
 您可以修改 ETL 邏輯，從其他來源接收資料，例如 Amazon S3，其可以使用 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) 命令將資料從 Amazon S3 複製到 Amazon Redshift 資料表。

如需 Amazon Redshift 和 Step Functions 服務整合的詳細資訊，請參閱下列指南：
+ [將 服務與 Step Functions 整合](integrate-services.md)
+  [使用 Amazon Redshift 資料 API](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html) 
+  [Amazon Redshift Data API 服務](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds-data.html) 
+  [建立使用 Lambda 的 Step Functions 狀態機器](tutorial-creating-lambda-state-machine.md) 

如需 Lambda 和 Amazon Redshift IAM 政策的詳細資訊，請參閱下列指南：
+  [用於呼叫 的 IAM 政策AWS Lambda](connect-lambda.md#lambda-iam) 
+  [授權對 Amazon Redshift Data API 的存取](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html#data-api-access) 

**注意**  
此範例專案可能需要付費。  
對於新 AWS 使用者，提供免費用量方案。在此方案中，特定用量層級以下的服務皆為免費。如需成本和免費方案的詳細資訊 AWS ，請參閱 [AWS Step Functions 定價](https://aws.amazon.com/step-functions/pricing/)。

## 步驟 1：建立狀態機器
<a name="sample-etl-orchestration-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-etl-orchestration-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 AWS Batch和 管理批次任務 Amazon SNS
<a name="batch-job-notification"></a>

此範例專案示範如何提交 AWS Batch 任務，然後根據任務成功或失敗傳送 Amazon SNS 通知。部署此範例專案將建立 AWS Step Functions 狀態機器、AWS Batch 任務和 Amazon SNS 主題。

在此專案中，Step Functions 會使用狀態機器同步呼叫 AWS Batch 任務。它會等待任務成功或失敗，然後傳送 Amazon SNS 主題，其中包含任務成功或失敗的訊息。

## 步驟 1：建立狀態機器
<a name="batch-job-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如 函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-container-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 散發具有映射狀態的批次任務
<a name="sample-batch-fan-out"></a>

此範例專案示範如何使用 Step Functions [映射工作流程狀態](state-map.md)的狀態來散發 AWS Batch 任務。

在此專案中，Step Functions 會使用狀態機器叫用 Lambda 函數來執行簡單的預先處理，然後使用 [映射工作流程狀態](state-map.md) 狀態平行叫用多個 AWS Batch 任務。

## 步驟 1：建立狀態機器
<a name="sample-batch-fan-out-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如 函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-batch-fan-out-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。

# 使用 Lambda 執行 AWS Batch 任務
<a name="sample-batch-lambda"></a>

此範例專案示範如何使用 Step Functions 透過 AWS Lambda 函數預先處理資料，然後協調 AWS Batch 任務。

在此專案中，Step Functions 會使用狀態機器叫用 Lambda 函數，在提交 AWS Batch 任務之前執行簡單的預先處理。根據前一個任務的結果或成功，可能會叫用多個任務。

## 步驟 1：建立狀態機器
<a name="sample-batch-lambda-create"></a>

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇**建立狀態機器**。

1. 選擇**從範本建立**，並尋找相關的入門範本。選擇 **Next** (下一步) 繼續。

1. 選擇如何使用範本：

   1. **執行示範** – 建立唯讀狀態機器。檢閱後，您可以建立工作流程和所有相關資源。

   1. 在**其中建置** – 提供可編輯的工作流程定義，您可以使用自己的資源來檢閱、自訂和部署。(**不會**自動建立相關資源，例如函數或佇列。)

1. 選擇**使用範本**以繼續您的選擇。
**注意**  
*部署至您 帳戶的 服務需支付標準費用。*

## 步驟 2：執行示範狀態機器
<a name="sample-batch-lambda-start-execution"></a>

如果您選擇**執行示範**選項，則會部署並準備好執行所有相關資源。如果您選擇**在其中建置**選項，您可能需要設定預留位置值並建立其他資源，才能執行自訂工作流程。

1. 選擇**部署並執行**。

1. 等待 CloudFormation 堆疊部署。這最多可能需要 10 分鐘。

1. 開始**執行**選項出現後，請檢閱**輸入**並選擇**開始執行**。

**恭喜您！**  
您現在應該有狀態機器的執行中示範。您可以在**圖形檢視**中選擇狀態，以檢閱輸入、輸出、變數、定義和事件。