使用Camel在AWS S3上传中保留文件名和文件类型

2izufjch  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(163)

作为一个AWS和S3的初学者,我试图使用apache camel将Sample.txt文件从我的本地sftp上传到S3

<route>
        <from uri="sftp://testuser@localhost?password=test&amp;delete=true" />
        <setHeader name="CamelAwsS3Key">
            <constant>test</constant>
        </setHeader>
        <to uri="aws-s3://myTestBucket?accessKey=******&amp;secretKey=RAW(******)&amp;deleteAfterWrite=false&amp;region=AP_SOUTH_1" />
    </route>

这是可行的,但文件总是以test的名称上传,类型也没有显示。我已经尝试了多种方法。任何建议都会很有帮助。

58wvjzkj

58wvjzkj1#

传递密钥并使用SFTP simple提供的文件名时的问题已得到解决

<route>
        <from uri="sftp://testuser@localhost?password=test&amp;delete=true" />
        <setHeader name="CamelAwsS3Key">
             <simple>${in.header.camelFileName}</simple>
        </setHeader>
        <to uri="aws-s3://myTestBucket?accessKey=******&amp;secretKey=RAW(******)&amp;deleteAfterWrite=false&amp;region=AP_SOUTH_1" />
    </route>

感谢@gusto2的支持。
此外,您还可以在上载时将文件添加到特定文件夹,方法是更改

<simple>{foldername}/${in.header.camelFileName}</simple>

相关问题