使用 Camel 将文件名和文件类型保留在 AWS S3 上传中
Keep the filename and filetype in AWS S3 upload using Camel
作为 AWS 和 S3 的初学者,我尝试使用 apache camel[=11= 将 Sample.txt 文件从本地 sftp 上传到 s3 ]
<route>
<from uri="sftp://testuser@localhost?password=test&delete=true" />
<setHeader name="CamelAwsS3Key">
<constant>test</constant>
</setHeader>
<to uri="aws-s3://myTestBucket?accessKey=******&secretKey=RAW(******)&deleteAfterWrite=false&region=AP_SOUTH_1" />
</route>
这有效,但文件始终以名称 test 上传,并且也未显示类型。
尝试了多种方法。
任何建议都会有所帮助。
传递密钥和使用 SFTP simple 提供的文件名时的问题已解决
<route>
<from uri="sftp://testuser@localhost?password=test&delete=true" />
<setHeader name="CamelAwsS3Key">
<simple>${in.header.camelFileName}</simple>
</setHeader>
<to uri="aws-s3://myTestBucket?accessKey=******&secretKey=RAW(******)&deleteAfterWrite=false&region=AP_SOUTH_1" />
</route>
感谢@gusto2 的支持
此外,您还可以将上传的文件添加到特定文件夹,方法是更改 ,
<simple>{foldername}/${in.header.camelFileName}</simple>
作为 AWS 和 S3 的初学者,我尝试使用 apache camel[=11= 将 Sample.txt 文件从本地 sftp 上传到 s3 ]
<route>
<from uri="sftp://testuser@localhost?password=test&delete=true" />
<setHeader name="CamelAwsS3Key">
<constant>test</constant>
</setHeader>
<to uri="aws-s3://myTestBucket?accessKey=******&secretKey=RAW(******)&deleteAfterWrite=false&region=AP_SOUTH_1" />
</route>
这有效,但文件始终以名称 test 上传,并且也未显示类型。 尝试了多种方法。 任何建议都会有所帮助。
传递密钥和使用 SFTP simple 提供的文件名时的问题已解决
<route>
<from uri="sftp://testuser@localhost?password=test&delete=true" />
<setHeader name="CamelAwsS3Key">
<simple>${in.header.camelFileName}</simple>
</setHeader>
<to uri="aws-s3://myTestBucket?accessKey=******&secretKey=RAW(******)&deleteAfterWrite=false&region=AP_SOUTH_1" />
</route>
感谢@gusto2 的支持
此外,您还可以将上传的文件添加到特定文件夹,方法是更改 ,
<simple>{foldername}/${in.header.camelFileName}</simple>