S3: Исходящий адаптер для размещения файла в нескольких целевых сегментах
У меня есть приложение с загрузочной пружиной, где я пытаюсь поместить файл в несколько сегментов S3, используя один исходящий адаптер S3.
Хотелось бы узнать, возможно ли разместить файл в нескольких корзинах, используя один исходящий адаптер, используя саму spring-gration-aws (без использования aws -sdk)
Любое предложение будет полезно.
S3: Исходящий адаптер:
<int-aws:s3-outbound-channel-adapter id="filesS3Mover"
channel="filesS3MoverChannel"
transfer-manager="transferManager"
bucket="${aws.s3.target.bucket}"
key-expression="headers.targetsystem-folder/headers.file_name"
command="UPLOAD">
</int-aws:s3-outbound-channel-adapter>
1 ответ
Нет, с таким канальным адаптером невозможно посылать одновременно несколько блоков. Это не его ответственность.
Вы можете иметь:
<xsd:attribute name="bucket-expression">
<xsd:annotation>
<xsd:documentation>
A SpEL expression to evaluate S3 bucket at runtime against request message.
Mutually exclusive with 'bucket'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
тем не менее, чтобы определить его во время выполнения с сообщением и иметь цикл перед <int-aws:s3-outbound-channel-adapter>
изменять заголовок сообщения на каждой итерации и отправлять их снова и снова на один и тот же канал.