使用 Lambda 轮询任务状态以及 Amazon Batch - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Lambda 轮询任务状态以及 Amazon Batch

此示例项目创建了一个 Amazon Batch 职位轮询器。它实现了一个 Amazon Step Functions 状态机, Amazon Lambda 用于创建检查 Amazon Batch 任务的Wait状态循环。

此示例项目创建并配置所有资源,以便您的 Step Functions 工作流程将提交 Amazon Batch 作业,并等待该任务完成后才成功结束。

注意

您也可以在不使用 Lambda 函数的情况下实现此模式。有关 Amazon Batch 直接控制的信息,请参见将服务与 Step Functions 集成

此示例项目创建状态机、两个 Lambda 函数和一个 Amazon Batch 队列,并配置相关权限。IAM

有关 Amazon Step Functions 如何控制其他 Amazon 服务的更多信息,请参阅将服务与 Step Functions 集成

第 1 步:创建状态机

  1. 打开 Step Functions 控制台,然后选择创建状态机

  2. 查找并选择要使用的入门模板。选择下一步以继续。

  3. 选择 “运行演示” 以创建只读和 ready-to-deploy工作流程,或者选择 “在其上构建” 以创建可编辑的状态机定义,您可以在此基础上构建并稍后部署。

  4. 选择使用模板继续进行选择。

后续步骤取决于之前的选择:

  1. 运行演示 — 您可以先查看状态机,然后再创建只读项目,并将资源部署 Amazon CloudFormation 到您的 Amazon Web Services 账户。

    可以查看状态机定义,准备就绪后,选择部署并运行来部署项目并创建资源。

    部署可能需要最长 10 分钟来创建资源和权限。可以在 Amazon CloudFormation中使用堆栈 ID 链接来监控进度。

    部署完成后,应该在控制台中看到新的状态机。

  2. 构建依据:可以查看和编辑工作流程定义。在尝试运行自定义工作流程之前,可能需要为示例项目中的占位符设置值。

注意

部署到您的账户的服务可能会收取标准费用。

第 2 步:运行状态机

  1. 状态机页面上,选择您的示例项目。

  2. 在示例项目页面上,选择启动执行

  3. 启动执行对话框中,执行以下操作:

    1. (可选)输入自定义执行名称,以便覆盖生成的默认执行名称。

      非ASCII姓名和日志

      Step Functions 接受状态机、执行、活动和包含非ASCII字符的标签的名称。由于此类字符不适用于亚马逊 CloudWatch,因此我们建议您仅使用ASCII字符,以便您可以跟踪中的指标 CloudWatch。

    2. (可选)在输入框中,将输入值输入为JSON。如果您正在运行演示,则可以跳过此步骤。

    3. 选择启动执行

    Step Functions 控制台将引导您进入执行详细信息 页面,在该页面中,您可以在图表视图中选择状态来浏览步骤详细信息窗格中的相关信息。

恭喜您!

现在,您应该有一个正在运行的演示或者一个可以自定义的状态机定义。