使用 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
EXPERTE
gefragt vor 5 Monaten18 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen