如何从java中的s3获取触发lambda的文件名

o2rvlv0m  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(357)

告诉我如何在java的lambda代码中从s3获取触发lambda的文件名?我的任务是从s3中复制一个文件,然后使用lambda将其发送到我的sftp服务器。为了不让我每次都复制文件夹中的所有文件,我需要找出调用lambda的文件。
p、 先谢谢你

erhoui1w

erhoui1w1#

发送到lambda的示例事件如下
我们可以使用javaevents jar,将给我们提供具有精确模式的s3event类。我们需要在记录上循环查找 s3.object.key ```
package com.test;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.S3Event;

public class MyHandler implements RequestHandler<S3Event, String> {

@Override
public String handleRequest(S3Event request, Context context) {

    request.getRecords().forEach(record -> {
        System.out.println(record.getS3().getObject().getKey());
    });

    return "success";

}

}

相关问题