选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

在 Step Functions 中处理具有 Map 状态的队列中的数据

聚焦模式
在 Step Functions 中处理具有 Map 状态的队列中的数据 - AWS Step Functions

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

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

在此示例工作流程中,Map 状态工作流程。处理队列中的数据,同时向订阅用户发送消息并将其存储在数据库中。

Step Functions 使用优化集成从某个 Amazon SQS 队列中提取消息。当消息可用时,Choice 状态会将一组 JSON 消息传递到 Map 状态以进行处理。对于每条消息,状态机将消息写入 DynamoDB,从队列中移除消息,并将消息发布到 Amazon SNS 主题。

第 1 步:创建状态机

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

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

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

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

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

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

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

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

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

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

注意

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

第 2 步:订阅 Amazon SNS 主题

提示

在运行状态机之前,订阅 Amazon SNS 主题并将项目添加到 Amazon SQS 队列中。

  1. 打开 Amazon SNS 控制台

  2. 选择主题,然后找到由示例项目创建的主题。

  3. 选择创建订阅,然后对于协议,选择电子邮件

  4. 端点下,输入您的电子邮件地址以订阅该主题。

  5. 选择创建订阅

  6. 在电子邮件中确认订阅来激活订阅。

第 3 步:向 Amazon SQS 队列添加消息

  1. 打开 Amazon SQS 控制台

  2. 选择由示例项目创建的队列。

  3. 选择发送和接收消息,输入消息并选择发送消息。重复此步骤来将多条消息添加到队列中。

第 4 步:运行状态机

提示

Amazon SNS 中的队列具有最终一致性。将消息发送到队列后,可能需要等待几分钟,然后运行状态机。

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

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

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

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

      非 ASCII 名称和日志记录

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

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

    3. 选择启动执行

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

恭喜您!

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

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。