簡體   English   中英

如何從 java 中的 s3 獲取觸發 lambda 的文件名

[英]how to get name of file that trigger lambda from s3 in java

告訴我如何從 java 代碼中的 lambda 代碼中的 s3 獲取觸發 lambda 的文件名? 我的任務是使用 lambda 從 s3 復制一個文件到我的 sftp 服務器。 為了不讓我每次都復制文件夾中的所有文件,我需要找出調用 lambda 的文件。

PS提前謝謝

發送到 Lambda 的示例事件在這里

我們可以使用java-events jar,將為我們提供具有精確模式的 S3Event class。 我們需要循環記錄並找到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";

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM