1
需要通过MULE ESB从S3存储桶检索对象列表。但得到payload.getkey(),它的时候抛出错误:未能解决方法:org.mule.module.s3.model.ObjectListing.getKey()[arglength = 0]]Mule从s3桶获取对象列表
<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>
检查“GE-datastaging-dev的”桶有文件夹内的文件?使用与此链接中提到的相同的方式http://stackoverflow.com/questions/25956403/mule-esb-how-to-take-all-the-files-in-a-folder-inside-bucket-of-amazon -s3-get/37673489#37673489在回答部分(与'获取对象内容'内部的foreach)。它应该工作。以前每次在记录器中检查有效负载。 – star
ge-datastaging-dev是一个存储桶名称,并且在存储桶中我们已经在其中创建了Mule/inbound /文件夹。所有文件都可用Mule/inbound/ –
您是否使用'get-object content'来检索密钥? – star