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