将动态参数传递给 AWS Glue

Pass Dynamic Parameters to AWS Glue

我正在尝试将动态参数传递给粘合作业。我关注了这个问题:AWS Glue Job Input Parameters

并像这样配置我的参数:

我正在使用以下代码触发 boto3 的粘合作业:

event = {
    '--ncoa': "True", 
    '--files': 'file.csv', 
    '--group_file': '3e93475d45b4ebecc9a09533ce57b1e7.csv', 
    '--client_slug': 'test', 
    '--slm_id': '12345'
}

glueClient.start_job_run(JobName='TriggerNCOA', Arguments=event)

当我 运行 这个胶水代码时:

args = getResolvedOptions(sys.argv, ['NCOA','Files','GroupFile','ClientSlug', 'SLMID'])

v_list=[{"ncoa":args['NCOA'],"files":args['Files'],"group_file":args['GroupFile'], "client_slug":args['ClientSlug'], "slm_id":args['SLMID']}]

print(v_list)

它只为每个值提供 'a',而不是我从 boto3 传入的原始事件的值。我该如何解决?似乎我遗漏了一些非常细微的东西,但我环顾四周并没有发现任何结论。

您在 Glue 作业参数中使用 CamelCase大写字母,但您使用的是 小写字母 在 python 代码中覆盖参数。

例如

Glue 中作业参数的键是 --ClientSlug 但 python 代码中设置的参数键是 --client_slug