使用 Python 将参数传递给 Glue Workflow

0

【以下的问题经过翻译处理】 我正在尝试在 lambda 里运行 Glue Workflow。根据本文档,有一个参数叫RunProperties。所以,我正在尝试像这样运行工作流程:

newRun = glue.start_workflow_run(Name = 'MyWorkflow', RunProperties = { 'key1': 'value1' })

但是得到这个错误:

[ERROR] ParamValidationError: Parameter validation failed:
Unknown parameter in input: "RunProperties", must be one of: Name

看起来它只接受一个参数 Name 而不是 RunProperties。 所以问题来了:如何使用 lambda function 正确地运行带参数的工作流程?

一些附加信息:

我想要实现的是在当 zip 文件被上传到 S3 时运行 Glue Workflow。而我觉得对于这样的任务来说Glue crawler有些过于冗余了。当一个 zip 文件被上传到 S3 时,会触发一个Lambda,里面开始 Glue Workflow。

profile picture
专家
已提问 5 个月前15 查看次数
1 回答
0

【以下的回答经过翻译处理】 嗨,@Alex

我试过之后遇到了和你一样的问题。

但我可以给您提供一个变通的办法,您可以在启动不带属性的workflow之后,通过 RunId 立即添加参数。

newRun = glue.start_workflow_run(Name = 'MyWorkflow')
updateRun = glue.put_workflow_run_properties(
    Name = 'MyWorkflow',
    RunId = newRun['RunId'],
    RunProperties = { 'key1': 'value1'}
    )

也许这是一个 boto3 的问题。

我应该会报告这个问题...

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则