Установка местоположения назначения относительно расширения файла во время выполнения

#spring-boot #spring-integration #spring-integration-aws

#весенняя загрузка #spring-интеграция #spring-интеграция-aws

Вопрос:

У меня есть одно требование, я хочу установить местоположение назначения на основе расширения файла из исходного местоположения, например, в исходном местоположении у меня есть следующие файлы abc.txt ,mno.txt , pqr.csv и xyz.pdf . Как только адаптер начнет опрос, abc.txt и mno.txt будет иметь переместить txtDesinationPath pqr.cv необходимо будет переместить csvDestinationPath, а xyz.pdf должен будет переместить pdfDesinationPath соответственно. Не могли бы вы предложить мне некоторую логику для реализации этого.

Ответ №1:

Какая технология? Вы отметили aws — вы имеете в виду s3, sns?

например, обработчик S3 имеет bucketExpression , который является выражением SpEL, вычисляемым по сообщению.

Комментарии:

1. ДА. Его опрос только из корзины S3. На самом деле это будет опрос из одной из папок IN внутри корзины S3. пример: {bucketName/IN} . И в папке IN находятся файлы разных типов. На основе расширения файла он должен перенести другую папку назначения на локальном компьютере. Для этого используется входящий адаптер s3.

2. Итак, как я уже сказал, используйте bucketExpression для выбора корзины.

3. Я попробовал это, но вместо опроса всех файлов из папки IN папка IN копируется в локальный каталог. Используется remote-directory-expression=»‘${bucketName/IN}'»

4. Вам нужно отредактировать свой вопрос, чтобы показать вашу конфигурацию и точно указать, в чем заключается ваша проблема.

5. Привет, Гэри, как ты и предлагал, я настроил bucketExpression для каждого назначения. Теперь он работает нормально