node.jsを使用してS3バケットから複数のファイルをダウンロードする必要があります。そのためにはfor loop
&をダウンロードしてs3.getObject(param)
メソッドをダウンロードしてください。ファイルがダウンロードされた後、私はその内容をマージする必要があります。node.jsのAmazon S3バケットからファイルを同期的にダウンロードする方法
私はこのように書かれている:
var fileContentList = new ArrayList();
for(i=0; i<fileNameList.length i++){
s3.getObject({ Bucket: "my-bucket", Key: fileNameList.get(i) }, function (error, data) {
if (error != null) {
alert("Failed to retrieve an object: " + error);
} else {
alert("Loaded " + data.ContentLength + " bytes");
fileContentList.add(data.Body.toString());
}
}
);
}
//Do merging with the fileContentList.
しかしs3.getObject
が非同期呼び出しであると私はマージをやっている間、&何も上の現在のスレッドの移動はfileContentList
に追加されます。
どうすれば問題を解決できますか?何か案が?
aws-sdkの同期方法でファイルをダウンロードしていますか?