написал код для весеннего приложения интеграции aws, которое в настоящее время загружает файлы из исходной папки в целевую корзину S3, используя s3-outbound-gateway.Хотелось бы добавить ниже определенные пользователем метаданные и их значение о файле при загрузке файла в корзину S3.
x-amz-meta-sourcePath: / test
x-amz-meta-targetPath: / targetbucket /
x-amz-meta-timestamp: (#timestamp value)
Хотелось бы узнать, как добавить метаданные, используя исходящий шлюз S3 или другим способом.Любая документация / пример / предложение будут полезны для достижения этой цели.
<util:map id="userMetadata" value-type="java.lang.String">
<entry key="x-amz-meta-source" value="testsource" />
<entry key="x-amz-meta-sourcePath" value="testpath" />
<entry key="x-amz-meta-targetPath" value="headers.TARGET_PATH" /> </util:map>
<bean id="objectMetadata" class="com.amazonaws.services.s3.model.ObjectMetadata">
<property name="userMetadata" ref="userMetadata"/>
</bean>
<bean id="uploadMetadataProvider" class="org.springframework.integration.aws.outbound.S3MessageHandler$UploadMetadataProvider">
<property name="objectMetadata" ref="objectMetadata"/>
</bean>
<int-aws:s3-outbound-gateway id="s3File"
request-channel="filesS3GateWay"
reply-channel="filesS3ChainChannel"
transfer-manager="transferManager"
bucket-expression = "headers.TARGET_PATH"
key-expression="headers.file_name"
upload-metadata-provider="uploadMetadataProvider"
command="UPLOAD">
<int-aws:request-handler-advice-chain>
<ref bean="retryAdvice" />
</int-aws:request-handler-advice-chain>
</int-aws:s3-outbound-gateway>