Warm tip: This article is reproduced from serverfault.com, please click

python-将动态参数传递给AWS Glue

(python - Pass Dynamic Parameters to AWS Glue)

发布于 2020-12-04 16:24:47

我正在尝试将动态参数传递给胶水作业。我关注了这个问题:AWS Glue作业输入参数

并像这样配置我的参数:

在此处输入图片说明

我使用以下代码通过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传入的原始事件的值。我该如何解决?好像我错过了一些非常轻微的东西,但是我还是四处张望,没有发现任何结论性的东西。

Questioner
DBA108642
Viewed
0
Achyut Vyas 2020-12-05 16:25:57

你正在将CamelCase大写字母用于胶水作业参数中,但是你正在python代码中使用小写字母来覆盖参数。

前任。

Glue中job参数的键--ClientSlug,但是在python代码中设置的Argument的键是--client_slug