如何将AWS Glue作业的输出返回到调用步骤函数工作流? [英] How to return output from AWS Glue jobs back to the calling Step Function workflow?
本文介绍了如何将AWS Glue作业的输出返回到调用步骤函数工作流?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要运行该作业,并(在将结果保存到S3之后)将作业期间生成的某些元数据(如行数或筛选的行数)返回到步骤函数流。
我们可以将参数从步骤函数传递到Glue作业,如下所示:
"RunGlueJob": {
"Type": "Task",
"Resource": "arn:aws:states:::glue:startJobRun.sync",
"Parameters": {
"JobName": "MyJobName",
"Arguments": {
"--param1.$": "$.param1",
"--param2.$": "$.param2"
}
},
"Next": "NextState"
},
但是,Glue作业如何将输出返回到步骤函数工作流?我尝试仅从(Scala)Glue作业内的main()函数返回一个字符串,但它没有显示在返回到Step函数流的JSON中:
{
"AllocatedCapacity": 3,
"Arguments": {
"--param1.$": "$.param1",
"--param2.$": "$.param2"
},
"Attempt": 0,
"CompletedOn": 1570114802442,
"ExecutionTime": 39,
"GlueVersion": "0.9",
"Id": "jr_some_id",
"JobName": "MyJobName",
"JobRunState": "SUCCEEDED",
"LastModifiedOn": 1570114802442,
"LogGroupName": "/aws-glue/jobs",
"MaxCapacity": 3,
"PredecessorRuns": [],
"StartedOn": 1570114746138,
"Timeout": 2880
}
我找不到任何有关这方面的文档,因此这可能根本不可能。但是,从lambdas返回值工作得很好,并且在步骤函数工作流中正常显示。
推荐答案
在此阶段不能从GLUE作业返回任何内容。根据定义,AWS GLue预计将处理海量数据,因此预计输出也将是海量数据。
您可以将结果写入DynamoDB或S3或任何其他存储,并在AWS步骤函数的下一步使用lambda访问它
这篇关于如何将AWS Glue作业的输出返回到调用步骤函数工作流?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文