使用 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ヶ月前18ビュー
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ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン