如何使用nodejs代码将对象从亚马逊冰川恢复到s3?

时间:2017-01-25 14:06:44

标签: node.js amazon-web-services amazon-s3 aws-sdk

我在S3中配置了生命周期策略,S3中的一些对象存储在Glacier类中,一些对象仍在S3中,现在我正在尝试从Glacier恢复对象,我可以使用intiate restore恢复冰川中的对象在console和s3cmd行中。如何使用Nodejs AWS SDK编写代码来恢复Glacier中的对象。

2 个答案:

答案 0 :(得分:0)

您可以使用AWS SDK for NodeJS中的S3.restoreObject()功能从Glacier恢复对象,如文档here所述。

答案 1 :(得分:0)

感谢标记更新。我尝试使用s3.restoreObject()并且代码正在运行。但我面临以下问题:{[MalformedXML:您提供的XML格式不正确或未针对已发布的架构进行验证}

这是我试过的代码:

var AWS = require('aws-sdk');
var s3 = new AWS.S3({accessKeyId: 'XXXXXXXX', secretAccessKey:'XXXXXXXXXX'});
var params = { 
Bucket: 'BUCKET',
Key: 'file.json',
RestoreRequest: 
{ Days: 1, 
 GlacierJobParameters: { Tier: 'Standard'  } 
} 
}; 
s3.restoreObject (params, function(err, data) 
{ 
if (err) console.log(err, err.stack); 
else console.log(data);  
});