Q77 — AWS SAA-C03 第16章
第 77/100 题 | ← 返回第16章
Q1277。一家公司正在重新设计其数据采集流程。在现有的数据采集流程中,该公司每晚接收数据传输并将数据上传到 Amazon S3 存储桶。该公司拥有 AWS Glue 爬虫程序和 AWS Glue 作业,用于为机器学习 (ML) 工作流准备数据。该公司需要一个低代码解决方案来按顺序运行多个 AWS Glue 作业并提供可视化的工作流程。哪种解决方案可以满足这些要求?
- A. 使用 Amazon EC2 实例运行 cron 作业和脚本来检查 S3 文件并调用 AWS Glue 作业。创建 Amazon CloudWatch 仪表板以可视化工作流程。
- B. 使用 Amazon EventBridge 为 AWS Glue 作业调用 AWS Step Functions 工作流。使用 Step Functions 创建可视化工作流。 ✓
- C. 使用 S3 事件通知按顺序调用一系列 AWS Lambda 函数和 AWS Glue 作业。使用 Amazon QuickSight 创建可视化工作流。
- D. 创建一个包含 Python 脚本的 Amazon Elastic Container Service (Amazon ECS) 任务,该脚本用于管理 AWS Glue 作业并创建可视化工作流。使用 Amazon EventBridge Scheduler 启动 ECS 任务。
正确答案: B. 使用 Amazon EventBridge 为 AWS Glue 作业调用 AWS Step Functions 工作流。使用 Step Functions 创建可视化工作流。
解析
正确的解决方案必须提供低代码、可视化的工作流程来对 AWS Glue 作业进行排序,同时避免手动编排。让我们评估一下每个选项:正确答案:B。使用 Amazon EventBridge 为 AWS Glue 作业调用 AWS Step Functions 工作流。使用 Step Functions 创建可视化工作流。为什么选项 B 是最佳选择:低代码编排:AWS Step Functions 是一种无服务器工作流服务,允许通过拖放方式实现作业序列的可视化。无需自定义脚本(与 EC2、Lambda 或基于 ECS 的解决方案不同)。可视化工作流程:Step Functions 提供了一个内置状态机图,显示作业执行流程、成功/失败路径和重试。与 AWS Glue 集成:Step Functions 可以使用 AWS Glue StartJobRun API 直接调用 AWS Glue 作业。支持错误处理(例如重试、回退)和条件分支。事件驱动触发器:当新数据到达 S3(例如,通过 S3 事件规则)时,Amazon EventBridge 可以触发 Step Functions 工作流。其他选择为何失败:A. 使用 Amazon EC2 实例运行 cron 作业和脚本来检查 S3 文件并调用 AWS Glue 作业。创建 Amazon CloudWatch 仪表板以可视化工作流程。高维护成本:需要手动管理 EC2 实例(修补、扩展、正常运行时间)。没有原生的可视化工作流程:CloudWatch 仪表板不显示作业排序——仅显示指标/日志。非低代码:需要自定义脚本(例如 Bash/Python)来编排 Glue 作业。C. 使用 S3 事件通知按顺序调用一系列 AWS Lambda 函数和 AWS Glue 作业。使用 Amazon QuickSight 创建可视化工作流。Lambda 限制:Lambda 的超时限制为 15 分钟,因此不适用于长时间运行的 Glue 作业。对多个 Lambda 进行排序需要复杂的事件链(例如 SNS/SQS)。没有原生工作流可视化: QuickSight 适用于商业智能/分析,而非作业编排图。D. 创建一个 Amazon Elastic Container Service (Amazon ECS) 任务,其中包含一个用于管理 AWS Glue 作业并创建可视化工作流的 Python 脚本。使用 Amazon EventBridge Scheduler 启动该 ECS 任务。低代码需求的过度杀伤:需要 Docker 容器化和 Python 脚本(非低代码)。没有内置可视化:ECS 不提供工作流程图——需要外部工具(例如,AWS X-Ray、自定义仪表板)。主要比较:要求步骤函数 (B)其他选项低代码/无代码(拖放式 UI)(需要脚本/容器)可视化工作流程图(内置状态机)(CloudWatch/QuickSight/ECS 缺少此功能)直接 Glue 作业集成(本机 API 支持)(Lambda 超时;EC2/ECS 需要自定义代码)事件驱动触发器(EventBridge)(S3 事件 + Lambda 很脆弱;EC2 cron 作业)结论:选项 B 是唯一的解决方案:提供无服务器、低代码的可视化工作流程(Step Functions)。无需脚本即可与 AWS Glue 本机集成。支持事件驱动触发器(EventBridge)。最终答案:B