我想要使用 AWS Glue 工作流在爬网程序运行完成后自动启动作业。
简短描述
要在爬网程序运行完成后启动作业,请创建一个 AWS Glue 工作流和两个触发器。一个触发器用于爬网程序,另一个触发器用于作业。此方法需要您从 AWS Glue 控制台上的 Workflows(工作流)页面启动爬网程序。
**注意:**您还可以使用 AWS Lambda 函数和 Amazon EventBridge 规则来自动运行作业。如果您选择此选项,则 Lambda 函数将始终处于启用状态。无论何时何地启动此函数,此函数都会监控爬网程序。有关详细信息,请参阅如何使用 Lambda 函数在爬网程序运行完成后自动启动 AWS Glue 作业?
解决方法
**先决条件:**要完成解决步骤,您必须有一个 AWS Glue 提取、转换和加载 (ETL) 作业以及一个 AWS Glue 爬网程序。您还必须为 AWS Glue 添加一个附加了 AWSGlueServiceRole 策略的 AWS Identity and Access Management (IAM) 角色。
创建工作流
完成以下步骤:
- 打开 AWS Glue 控制台。
- 在导航窗格中,选择 Workflows(工作流),然后选择 Add workflow(添加工作流)。
- 输入工作流的名称,然后选择 Add workflow(添加工作流)。新工作流将出现在 Workflows(工作流)页面的列表中。
为爬网程序创建触发器
完成以下步骤:
- 在 Workflows(工作流)页面上,选择新工作流,然后选择 Graph(图表)选项卡。
- 选择 Add trigger(添加触发器),然后选择 Add new(添加新内容)选项卡。对于 Trigger type(触发器类型),选择 On demand(按需)。
- 选择 Add(添加)。触发器将出现在图表上。
- 在图表上,选择 Add node(添加节点)。
- 在 Crawlers(爬网程序)选项卡上,选择您的爬网程序,然后选择 Add(添加)。
为 AWS Glue 作业创建触发器
完成以下步骤:
- 在图表上方的 Action(操作)菜单中,选择 Add trigger(添加触发器)。
- 选择 Add new(添加新内容)选项卡,然后选择以下选项:
对于 Trigger type(触发器类型),选择 Event(事件)。
对于 Trigger logic(触发器逻辑),选择 Start after ALL watched event(在监控所有事件之后开始)。
- 选择 Add(添加)。触发器将出现在图表上。
- 在图表上,在您刚刚创建的作业触发器的左侧,选择 Add node(添加节点)。
- 在 Crawlers(爬网程序)选项卡上,选择您的爬网程序,然后选择 Add(添加)。触发器将出现在图表上。
- 在图表上,在您刚刚创建的作业触发器的右侧,选择 Add node(添加节点)。
- 在 Jobs(作业)选项卡上,选择要在爬网程序运行完成后启动的作业,然后选择 Add(添加)。
测试工作流
完成以下步骤:
- 在 Actions(操作)菜单上,选择 Add workflow(添加工作流)按钮旁边的 Run(运行)。Last run status(上次运行状态)列将变为 Running(正在运行)。
- 检查 Graph(图表)选项卡以查看工作流的状态。或者,打开相应的爬网程序或作业以确认其正在运行。
相关信息
在 AWS Glue 中手动创建和构建工作流