AWS Lambda 函数启动 Glue 作业

Jem*_*mbo 7 aws-lambda aws-glue

我对 AWS lambda 不太了解。我的要求是在文件复制到 S3 存储桶后运行 Glue 作业。

因此,我计划使用 AWS Lamdba 启动 AWS Glue 作业。但 Lambda 函数有 300 毫秒的限制,而我的 Glue 工作将需要几个小时。

我的问题是 Lambda 将如何工作,它会启动 Glue 作业并退出吗?或者如果我们杀死 lambda job,Glue job 也会被杀死吗?

如果我们杀死 lambda 作业,胶水作业也会被杀死。那么还有什么其他解决方案呢?

Yuv*_*uva 6

丹尼尔

以下内容对我有用,并且在过去两年中一直在生产。我提供以下 python 代码示例,仅用于从 AWS Lambda 调用粘合作业。

谢谢

from __future__ import print_function
import boto3
import urllib

print('Loading function')

glue = boto3.client('glue')

def lambda_handler(event, context):
    gluejobname="GLUE_JOB_NAME"

    try:
        runId = glue.start_job_run(JobName=gluejobname)
        status = glue.get_job_run(JobName=gluejobname, RunId=runId['JobRunId'])
        print("Job Status : ", status['JobRun']['JobRunState'])
    except Exception as e:
        print(e)
    raise e
Run Code Online (Sandbox Code Playgroud)


Sur*_*ndu 2

Lambda 将启动胶水触发器并退出。Glue 作业将继续运行。