使用mulerequester从Amazon S3存储桶获取文件

时间:2014-03-06 03:00:45

标签: amazon-s3 mule mule-studio

我想在特定事件上读取已配置的Amazon S3存储桶中的文件(例如 - JMS队列中的消息)。似乎骡子请求者在文件,ftp等连接器的这种情况下有所帮助。但是,看起来mulerequester的范围仅限于传输连接器而不是云连接器。

我可以使用S3作为mulerequester的资源吗?

<flow name="process_s3_file" doc:name="process_s3_file"
    processingStrategy="synchronous">
    <mulerequester:request config-ref="" resource="need-to-use-s3-get-object"
        doc:name="Mule Requester">          
    </mulerequester:request>

    <logger level="INFO" doc:name="Logger" />

    <!-- do something here -->

    <s3:delete-object config-ref="Amazon_S3"
        bucketName="${s3-read-bucket}" key="#[s3_file_name]" doc:name="Delete File"
        accessKey="${s3-access-key}" secretKey="${s3-secret-key}" />
</flow>

以下是我想要请求资源的S3 get-object。

<s3:get-object-content config-ref="Amazon_S3" bucketName="${s3-read-bucket}"
            key="#[s3_file_name]" accessKey="${s3-access-key}"
            secretKey="${s3-secret-key}"
            doc:name="Read File" />

1 个答案:

答案 0 :(得分:2)

似乎您不需要为S3连接器安装mulerequester。你可以把它放在流程中的任何地方。以下流程对我有用。

<flow name="process_s3_file" doc:name="process_s3_file"
    processingStrategy="synchronous">
    <s3:get-object-content config-ref="Amazon_S3" bucketName="${s3-read-bucket}"
        key="#[s3_file_name]" accessKey="${s3-access-key}"
        secretKey="${s3-secret-key}"
        doc:name="Read File" />

       <logger level="INFO" doc:name="Logger" />

       <!-- do something here -->

       <s3:delete-object config-ref="Amazon_S3"
    bucketName="${s3-read-bucket}" key="#[s3_file_name]" doc:name="Delete File"
    accessKey="${s3-access-key}" secretKey="${s3-secret-key}" />    </flow>