

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Lambda 和 Amazon SNS 创建任务计时器
<a name="task-timer-sample"></a>

本示例项目将创建一个任务计时器。它将实现 AWS Step Functions 状态机（实现 `Wait` 状态），然后使用 AWS Lambda 函数发送 Amazon Simple Notification Service (Amazon SNS) 通知。[Wait 工作流程状态](state-wait.md) 状态是等待触发器执行单个工作单元的状态类型。

**注意**  
此示例项目实现了一个发送 Amazon Simple Notification Service (Amazon SNS) 通知的 AWS Lambda 函数。您也可以直接从 Amazon States Language 发送 Amazon SNS 通知。请参阅[将服务与 Step Functions 集成](integrate-services.md)。

本示例项目将创建一个状态机、一个 Lambda 函数和一个 Amazon SNS主题，并将配置相关 AWS Identity and Access Management (IAM) 权限。有关使用**任务计时器** 示例项目创建的资源的更多信息，请参阅下面内容：

有关 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/)
+ [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. 选择**从模板创建**，然后找到相关的入门模板。选择**下一步**以继续。

1. 选择模板使用方式：

   1. **运行演示** — 创建只读状态机。审核后，您可以创建工作流和所有相关资源。

   1. **构建依据** — 提供可编辑的工作流定义，您可借助自有资源对其进行审核、定制并部署。（**不会**自动创建函数或队列等相关资源。）

1. 选择**使用模板**继续进行选择。
**注意**  
*部署到您的账户的服务将会收取标准费用。*

## 第 2 步：运行演示状态机
<a name="task-timer-run-state-machine"></a>

如果您选择了**运行演示**选项，则所有相关资源都将部署并准备好运行。如果您选择了**构建依据**选项，则可能需要先设置占位符值并创建其他资源，然后才能运行自定义工作流。

1. 选择**部署并运行**。

1. 等待 CloudFormation 堆栈部署。这一过程耗时最多 10 分钟。

1. 出现**开始执行**选项后，查看**输入**并选择**开始执行**。

**恭喜您！**  
现在，您应该有了一个正在运行的状态机演示。您可以在**图表视图**中选择状态来查看输入、输出、变量、定义和事件。