Camel S3: отображение списка файлов S3 с отключенным планировщиком - PullRequest
0 голосов
/ 09 января 2020

У меня следующий маршрут 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 работает с планировщиком, однако это вызывает повторную обработку одних и тех же файлов.

Я попытался отключить планировщик Camel-S3 с помощью startScheduler = false, однако это не выполняет часть 'aws -s3', когда внешний планировщик запускает и получает нулевые значения для '$ ​​{header.CamelAwsS3Key}'.

Возможно ли запустить этот компонент без внутренний планировщик?

Используемая версия верблюда - 2.22.0

Зависимость, используемая для aws:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-aws</artifactId>
  <version>${camel.version}</version>
</dependency>

1 Ответ

1 голос
/ 10 января 2020

Не имеют 2 х, то есть это не два независимых потребителя. Вместо этого используйте обогащение контента (pollEnrich) для использования из s3 при вызове другого.

from
   pollEnrich
   log

Прочитайте документы об обогащении контента и pollEnrich / enrich (особенно вокруг тайм-аутов с опросом enrich). https://camel.apache.org/manual/latest/content-enricher.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...