如何从粘合作业中检索粘合工作流参数?在
我有一个类型为“pythonshell”的AWS Glue作业,它是从Glue工作流中定期触发的。在
作业的代码将在大量不同的工作流中被重用,因此我希望检索工作流参数,以消除对冗余作业的需要。在
《AWS开发者指南》提供了以下教程: https://docs.aws.amazon.com/glue/latest/dg/workflow-run-properties-code.html
但是我没有成功地让示例代码在没有触发错误的情况下执行。我怀疑这个例子可能只适用于scala/pyspark作业,而不适用于pythonshell作业。在
我在相关工作中尝试了以下代码
import sys
import boto3
from awsglue.utils import getResolvedOptions
args = getResolvedOptions(sys.argv, ['JOB_NAME','WORKFLOW_NAME', 'WORKFLOW_RUN_ID'])
workflow_name = args['WORKFLOW_NAME']
workflow_run_id = args['WORKFLOW_RUN_ID']
workflow_params = glue_client.get_workflow_run_properties(Name=workflow_name,
RunId=workflow_run_id)["RunProperties"]
print(workflow_name, workflow_run_id, workflow_params)
当我按需触发工作流时,我收到以下错误消息:
^{pr2}$
boto3
库为您提供了一个有趣的函数通过这种方式,您应该能够通过
default_parameter
操作胶水作业参数。我不确定它是否能直接在Glue作业中工作,但是外部脚本应该能够处理Glue Job参数。在相关问题 更多 >
编程相关推荐