使用apache camel从aws s3传输文件期间记录文件名

Logging filename during file transfer from aws s3 using apache camel

我是 Apache camel-aws 的初学者。我正在编写一个程序,使用 apache camel 将文件从一个 aws s3 存储桶传输到另一个存储桶。我现在想记录从 s3 中选取的 file/object 名称。你能帮我做同样的事吗?下面是我的代码片段。 ${file:name} 适用于 camel FTP 组件,想了解它在 aws 中的等价物。

from("aws-s3://sourceBucket?amazonS3Client=#amazonS3Client")
                .log("The following file has been picked for file transfer    : ${file:name}")
                .routeId("Test My Files").log("Building Destination URI for fie transfer")
                .to("aws-s3://destinationBucket?amazonS3Client=#amazonS3Client")
                .log("The following file transfer has completed   : ${file:name}");

亲切的问候, 卡西夫

不,这不一样。

您需要使用 header CamelAwsS3Key

.log("The following file has been picked for file transfer: ${header.CamelAwsS3Key}")

这是在从 S3 存储桶消费时设置的。