Aws lambda 如何使用云监视事件将在AWS Glue job中处理的S3输入文件名(S3文件)发送到AWS Lambda?

Aws lambda 如何使用云监视事件将在AWS Glue job中处理的S3输入文件名(S3文件)发送到AWS Lambda?,aws-lambda,amazon-cloudwatch,aws-glue,Aws Lambda,Amazon Cloudwatch,Aws Glue,每当文件(sample\u file)上载到S3存储桶(raw\u data\u bucket)时,就会触发AWS Lambda函数(Lambda\u fns1) 假设路径是s3://raw\u data\u bucket/client1/data/sample\u file 此Lambda函数(Lambda_fns1)然后触发AWS粘合作业(Glue_Job)进行文件处理 注意:粘合作业是整个粘合工作流的一部分。在CloudWatch事件开始之前,有六个作业已经完成 此粘合完成后,使用云监视事

每当文件(
sample\u file
)上载到S3存储桶(
raw\u data\u bucket
)时,就会触发AWS Lambda函数(
Lambda\u fns1

假设路径是
s3://raw\u data\u bucket/client1/data/sample\u file

此Lambda函数(
Lambda_fns1
)然后触发AWS粘合作业(
Glue_Job
)进行文件处理

注意:粘合作业是整个粘合工作流的一部分。在CloudWatch事件开始之前,有六个作业已经完成

此粘合完成后,使用云监视事件规则(
Cloud\u Event\u Rule
)触发另一个Lambda函数(
Lambda\u fns2

最初,只有一个客户机,我们硬编码了这些值,但有很多客户机。现在我需要将以下详细信息传递给
lambda\u fns2
。如何做到这一点

{
'tenant': 'client1',
'path': 's3://raw_data_bucket/client1/data/sample_file'
}

胶水完成后,你怎么称呼lambda?保留s3文件的路径并将其返回到lambda。我的坏朋友忘了提到云监视事件规则!看来很难把这个论点传给第二个lambda。您可以尝试将作业名称设置为s3路径,并将其发送到第二个lambda,但这不是常规方法。当粘合作业完成时,我能想到的唯一想法是通过aws sdk使用特定事件形式调用lambda2。为什么不使用boto3 lambda API从粘合作业调用第二个lambda?好的,我的假设是您没有访问粘合作业代码的权限,或者没有修改它的权限,但您可以修改lambda代码。在这种情况下,您可以编写包含s3详细信息的配置文件(例如config.py)(例如s3_path=“s3://raw\u data\u bucket/client1/data/sample\u file”)。在第二个lambda中,使用配置文件获取s3详细信息。胶水作业完成后,如何调用lambda?保留s3文件的路径并将其返回到lambda。我的坏朋友忘了提到云监视事件规则!看来很难把这个论点传给第二个lambda。您可以尝试将作业名称设置为s3路径,并将其发送到第二个lambda,但这不是常规方法。当粘合作业完成时,我能想到的唯一想法是通过aws sdk使用特定事件形式调用lambda2。为什么不使用boto3 lambda API从粘合作业调用第二个lambda?好的,我的假设是您没有访问粘合作业代码的权限,或者没有修改它的权限,但您可以修改lambda代码。在这种情况下,您可以编写包含s3详细信息的配置文件(例如config.py)(例如s3_path=“s3://raw\u data\u bucket/client1/data/sample\u file”)。在第二个lambda中,使用配置文件获取s3详细信息。
{
'tenant': 'client1',
'path': 's3://raw_data_bucket/client1/data/sample_file'
}