ule子从S3存储桶获取对象列表 [英] Mule getting list of objects from s3 bucket

查看:124
本文介绍了ule子从S3存储桶获取对象列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要通过MULE ESB从S3存储桶中检索对象列表.但是,在获取payload.getkey()时,会引发错误:无法解析方法:org.mule.module.s3.model.ObjectListing.getKey()[arglength = 0]]

Need to retrieve the list of objects from S3 bucket through MULE ESB. But when getting the payload.getkey(), it's throws the error: unable to resolve method: org.mule.module.s3.model.ObjectListing.getKey() [arglength=0]]

 <http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="9090" doc:name="HTTP Listener Configuration"/>
<s3:config name="Amazon_S3__Configuration" accessKey="XXXXXXX" secretKey="XXXXXXXX" doc:name="Amazon S3: Configuration"/>
<flow name="s3bucket-downloadfilesFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/getfiles" doc:name="HTTP"/>
    <s3:list-objects config-ref="Amazon_S3__Configuration" bucketName="ge-datastaging-dev" prefix="Mule/inbound/" maxKeys="5" doc:name="Amazon S3"/>
    <logger level="INFO" doc:name="Logger"/>
    <foreach collection="#[payload]" doc:name="For Each">
        <logger level="INFO" doc:name="Logger" message=" inside foreach...... #[payload.getCommonPrefixes()]  ...."/>
        <logger level="INFO" doc:name="Logger" message=" ################...... #[payload.getNextMarker()]  ...."/>
        <logger level="INFO" doc:name="Logger" message=" ################...... #[payload.getKey()]  ...."/>            
    </foreach>
</flow>

推荐答案

代替在payload上循环,对ObjectListing中的ObjectSummaries对象执行<foreach>就像这样:

Instead of looping on payload, do <foreach> on ObjectSummaries object in ObjectListing like this:

<s3:list-objects config-ref="Amazon_S3__Configuration" bucketName="ge-datastaging-dev" prefix="Mule/inbound/" maxKeys="5" doc:name="Amazon S3"/>

<foreach doc:name="For Each" collection="#[payload.objectSummaries]">
    <s3:get-object-content config-ref="Amazon_S3__Configuration" bucketName="#[payload.getBucketName()]" key="#[payload.getKey()]" doc:name="Amazon S3"/>

</foreach>

这篇关于ule子从S3存储桶获取对象列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆