微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

附言提前致谢

解决方法

发送到 Lambda 的示例事件是 here

我们可以使用 java-events 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";

    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。