我正在遵循 Camel 路线,它试图从 S3 存储桶中读取文件列表:
from("direct:my-route").
.from("aws-s3://my.bucket?useIAMCredentials=true&useAwsKMS=true&awsKMSKeyId=my-key-id&deleteAfterRead=false&operation=listObjects&includeBody=false&prefix=test1/test.xml")
.log(" File detected: ${header.CamelAwsS3Key}")
.end();
然而,这条路线被每分钟运行的外部调度程序调用。看起来 Camel-S3 组件的默认行为是使用调度程序运行,但这会导致相同的文件被一次又一次地处理。
我尝试使用 startScheduler=false 关闭 Camel-S3 调度程序,但是当外部调度程序启动并获取“$ {header.CamelAwsS3Key}”的空值时,这不会执行“aws-s3”部分。
是否可以在没有内部调度程序的情况下运行此组件?
正在使用的骆驼版本 - 2.22.0
用于 aws 的依赖项:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel.version}</version>
</dependency>