亚马逊s3流媒体骡子

时间:2015-02-18 16:33:06

标签: java amazon-s3 streaming mule

我需要从amazon s3流式传输大型文件,处理它们(转换)并将它们上传回s3。是否有一种更清洁的方式可以在骡子中实现。

我正在尝试的方法是使用s3-get对象然后添加一个mule变换器,它将读取输入流并处理然后尝试写回。示例代码如下:

 <s3:config name="AmazonS3" accessKey="XXXXXX" secretKey="XXXXXX" doc:name="S3" />
 <s3:get-object-content config-ref="AmazonS3"
            bucketName="XXXXXX"
            />
  <custom-transformer class="com.myapp.FileStreamer"
            doc:name="Stream S3 files" />

变压器代码看起来像......

public Object transformMessage(MuleMessage message, String outputEncoding)
            throws TransformerException {
    CSVReader reader = null;

    InputStream inputStream = (InputStream) message.getPayload();

    try {
        reader = new CSVReader(new InputStreamReader(inputStream, "UTF-8"),CSVParser.DEFAULT_SEPARATOR,CSVParser.DEFAULT_QUOTE_CHARACTER, '\0');
     String[] line=null;
     while ((line = reader.readNext()) != null) {
     System.out.println(line);
    }
  catch (IOException e1) {
    ......
}...............

我无法看到为大文件打印的sop。

1 个答案:

答案 0 :(得分:0)

检查此Amazon S3的连接器:http://mulesoft.github.io/s3-connector 我认为您可以使用get-objectcreate-object操作来根据需要检索和上传文件。 HTH,马科斯。