为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 python 触发 aws lambda 的粘合作业?

如何使用 python 触发 aws lambda 的粘合作业?

慕少森 2022-11-29 16:56:32
假设我有一个胶水作业,名为:FirstGlueJob如何在 python 中使用 lambda 函数触发它?
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

我们可以在着陆文件夹上配置一个 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


查看完整回答
反对 回复 2022-11-29
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信