如何使用FLEX execution-class触发现有AWS Glue爬虫?
如何用FLEX execution-class触发AWS Glue爬虫
AWS Glue爬虫本身不支持直接指定execution-class参数——这个配置项是Glue作业(Jobs)专属的,爬虫的底层执行逻辑目前没有开放该配置选项。想要借助FLEX执行类的成本优势触发爬虫,可以通过以下间接方案实现:
替代方案:用FLEX模式的Glue作业触发爬虫
核心思路是创建一个以FLEX模式运行的Glue作业,在作业代码中调用AWS API启动目标爬虫,以此间接实现“用FLEX资源触发爬虫”的需求:
步骤1:创建触发爬虫的Glue作业
- 登录AWS Glue控制台,创建新作业,推荐选择Python shell类型(轻量低成本)。
- 在作业的代码编辑区,写入调用Glue API启动爬虫的逻辑,示例代码如下:
import boto3 # 初始化Glue客户端 glue_client = boto3.client('glue') def trigger_target_crawler(): try: # 替换为你的目标爬虫名称 crawler_name = "your-target-crawler-name" response = glue_client.start_crawler(Name=crawler_name) print(f"已成功触发爬虫 {crawler_name},响应信息: {response}") except Exception as e: print(f"触发爬虫失败: {str(e)}") trigger_target_crawler()
步骤2:给作业配置FLEX执行类
控制台配置
编辑该Glue作业,在作业参数区域添加自定义参数:
- 参数键:
--execution-class - 参数值:
FLEX
CLI配置
如果用AWS CLI启动作业,直接指定execution-class参数:
aws glue start-job-run \ --job-name "你的触发作业名称" \ --arguments '{ "--execution-class": "FLEX" }'
步骤3:触发作业
启动这个配置好的Glue作业,它会以FLEX执行类运行,然后自动调用API启动目标爬虫。
说明
这种方式中,爬虫本身仍会使用默认的执行资源,只有触发它的Glue作业采用了FLEX模式以节省成本。如果需要爬虫本身直接使用FLEX资源,目前AWS暂未提供该功能,建议关注AWS官方的功能更新。
内容的提问来源于stack exchange,提问作者nipy
相关产品推荐
相关产品推荐

