当从 lambda 触发时,如何知道 Glue 作业执行是否成功完成

问题描述 投票:0回答:1

我正在尝试构建一个执行 Glue 作业的 lambda 函数:

import json
import boto3


def lambda_handler(event, context):
    
    client = boto3.client('glue')
    
    response = client.start_job_run(
               JobName = 'job1',
               Arguments = {
                 '--parametro1': 'par 1'} )
    
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

lambda1 不会等待作业执行完成,它只会执行作业并完成。

我希望 lambda 处理作业执行的结果,因为 lambda 是从步骤函数执行的,只有当 lambda 成功完成时,步骤函数才会进入下一步。

amazon-web-services aws-lambda boto3 aws-step-functions
1个回答
0
投票

我认为您应该只使用 Step Functions 中的 arn:aws:states:::glue:startJobRun.sync 服务集成。这将运行您的粘合作业,监视完成情况,然后允许您的工作流程在完成后继续。您不需要中间使用 Lambda 函数,也不需要实现轮询来完成。

您可以在此处了解更多信息:https://docs.aws.amazon.com/step-functions/latest/dg/connect-glue.html

© www.soinside.com 2019 - 2024. All rights reserved.