假设我有一个名为“ FirstGlueJob”的胶水工作
如何在python中使用lambda函数触发它?
答案 0 :(得分:0)
我们可以在着陆文件夹上配置Lambda S3事件触发器,并且在上传文件时,我们可以在Lambda中有一个简短的脚本来触发Glue作业。胶水python脚本应具有将输入的文本文件转换为CSV文件的逻辑。这样,当文件上传到S3时,您的作业可以运行任意次。
您的帐单也仅在作业运行期间进行。请注意,由于Glue具有托管服务功能,因此其成本不高。
已创建事件触发器,触发粘合作业。请在此处找到适用于AWS Lambda的代码段:
from __future__ import print_function
import json
import boto3
import time
import sys
import time
from datetime import datetime
s3 = boto3.client('s3')
glue = boto3.client('glue')
def lambda_handler(event, context):
gluejobname="<< THE 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)
print('Error getting object {} from bucket {}. Make sure they exist '
'and your bucket is in the same region as this '
'function.'.format(source_bucket, source_bucket))
raise e