2

作为 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上传,并且类型也未显示。尝试了多种方法。任何的意见都将会有帮助。

4

1 回答 1

1

传递密钥并使用 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>
于 2021-09-01T08:41:33.987 回答