本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用分布式地图处理来自 Amazon S3 的CSV文件
此示例项目演示了如何使用分布式地图状态来迭代使用分布式地图生成的CSV文件的 10,000 多行 Lambda function。该CSV文件包含客户订单的配送信息,存储在 Amazon S3 存储桶中。分布式地图迭代CSV文件中一批 10 行,用于数据分析。
分布式地图包含 Lambda 用于检测任何延迟订单的功能。分布式 Map 还包含一个内联 Map,用于处理批次中的延迟订单,并以数组形式返回这些延迟订单。对于每个延迟的订单,Inline Map 都会向 Amazon SQS queue. 最后,本示例项目会将 Map Run 结果存储到 Amazon Web Services 账户中的另一个 Amazon S3 存储桶中。
使用分布式 Map,一次最多可运行 1 万个并行子工作流。在本示例项目中,分布式 Map 的最大并发量设置为 1000,即限制为 1000 个并行子工作流执行。
此示例项目创建状态机、支持 Amazon 资源并配置相关IAM权限。探索此示例项目,了解如何使用分布式 Map 编排大规模并行工作负载,或将其作为您自己项目的起点。
第 1 步:创建状态机
-
打开 Step Functions 控制台
,然后选择创建状态机。 -
查找并选择要使用的入门模板。选择下一步以继续。
-
选择 “运行演示” 以创建只读和 ready-to-deploy工作流程,或者选择 “在其上构建” 以创建可编辑的状态机定义,您可以在此基础上构建并稍后部署。
-
选择使用模板继续进行选择。
后续步骤取决于之前的选择:
-
运行演示 — 您可以先查看状态机,然后再创建只读项目,并将资源部署 Amazon CloudFormation 到您的 Amazon Web Services 账户。
可以查看状态机定义,准备就绪后,选择部署并运行来部署项目并创建资源。
部署可能需要最长 10 分钟来创建资源和权限。可以在 Amazon CloudFormation中使用堆栈 ID 链接来监控进度。
部署完成后,应该在控制台中看到新的状态机。
-
构建依据:可以查看和编辑工作流程定义。在尝试运行自定义工作流程之前,可能需要为示例项目中的占位符设置值。
注意
部署到您的账户的服务可能会收取标准费用。
第 2 步:运行状态机
在状态机页面上,选择您的示例项目。
在示例项目页面上,选择启动执行。
在启动执行对话框中,执行以下操作:
-
(可选)输入自定义执行名称,以便覆盖生成的默认执行名称。
非ASCII姓名和日志
Step Functions 接受状态机、执行、活动和包含非ASCII字符的标签的名称。由于此类字符不适用于亚马逊 CloudWatch,因此我们建议您仅使用ASCII字符,以便您可以跟踪中的指标 CloudWatch。
-
(可选)在输入框中,将输入值输入为JSON。如果您正在运行演示,则可以跳过此步骤。
-
选择启动执行。
Step Functions 控制台将引导您进入执行详细信息 页面,在该页面中,您可以在图表视图中选择状态来浏览步骤详细信息窗格中的相关信息。
-
恭喜您!
现在,您应该有一个正在运行的演示或者一个可以自定义的状态机定义。