You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Lambda向AWS Glue工作流传递参数至所有任务

向AWS Glue工作流传参并覆盖所有任务的实操方法

1. Lambda触发工作流时直接传参

在Lambda里调用Glue的start_workflow_run API,用RunProperties字段把参数传给工作流——这些参数会自动成为整个工作流的运行参数,所有任务都能读取到。

给个Python示例:

import boto3

glue_client = boto3.client('glue')

def lambda_handler(event, context):
    # 从Lambda触发事件里提取要传递的参数,也可直接定义测试值
    workflow_params = event.get('workflow_parameters', {
        'custom_param1': 'test_value1',
        'job_bookmark_option': 'job-bookmark-disable'
    })
    
    # 启动目标工作流并传入参数
    response = glue_client.start_workflow_run(
        Name='你的工作流名称',
        RunProperties=workflow_params
    )
    
    return {
        'statusCode': 200,
        'workflow_run_id': response['RunId']
    }

2. 让工作流内的任务读取并使用这些参数

要让任务用工作流参数覆盖自身默认配置,需在任务配置里通过变量引用工作流参数:

针对Glue作业任务:

进入作业配置页面,在Job parameters中添加键值对,用${workflow.runProperties.参数名}的格式引用工作流参数。比如:

  • 覆盖自定义参数:--custom_param1 = ${workflow.runProperties.custom_param1}
  • 覆盖系统参数(如禁用作业书签):--job-bookmark-option = ${workflow.runProperties.job_bookmark_option}

针对Glue爬虫任务:

直接在爬虫的配置项里用同样的变量格式替换目标值。比如把爬虫的Target paths设为${workflow.runProperties.target_s3_path},启动工作流时传入的参数会自动替换这个路径。

3. 验证参数传递是否生效

  • 登录Glue控制台,找到对应工作流的运行记录,查看Run properties,确认传入的参数已存在
  • 查看工作流内各任务的运行日志,检查参数是否被正确加载和使用

内容的提问来源于stack exchange,提问作者Rakesh Badal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:45:36