当我在s3中还原冰川档案文件时,遇到了 GlacierSelectNotAvailable 错误。 我尝试设置restoreObject的参数,但我不断收到该错误。 我使用Nodejs AWS开发工具包。
var params = {
Bucket: 'test_bucket',
Key: 'userInfo_glacier.csv',
RequestPayer: 'requester',
RestoreRequest: {
OutputLocation: {
S3: {
BucketName: 'test_bucket',
Prefix: 'test',
StorageClass: 'GLACIER',
}
},
SelectParameters: {
Expression: 'SELECT * FROM Object',
ExpressionType: 'SQL',
InputSerialization: {
CSV: {
Comments: '#',
FieldDelimiter: ',',
FileHeaderInfo: 'IGNORE',
QuoteCharacter: '"',
QuoteEscapeCharacter: '"',
RecordDelimiter: '\n'
}
},
OutputSerialization: {
CSV: {
FieldDelimiter: ',',
QuoteCharacter: '"',
QuoteEscapeCharacter: '"',
QuoteFields: 'ASNEEDED',
RecordDelimiter: '\n'
}
}
},
Tier: 'Expedited',
Type: 'SELECT'
}
};
s3.restoreObject(params, function (err, data) {
if (err) console.log(err.stack); // an error occurred
else console.log('data--', data); // successful response
});
答案 0 :(得分:0)
GlacierSelectNotAvailable:Glacier Select检索当前不可用。请稍后再试。
这不是您的代码有问题,就像他们说的那样,您目前无法使用Glacier Select,因此您只需要等待稍后再试即可。
目前尚不清楚该错误是由停机时间,流量,某些帐户,所有帐户还是在到达特定区域的检索请求中发生引起的。我遇到了相同的错误,因此我设置了POST请求以直接执行选择,但仍然遇到相同的错误。
我每天都会重试一次完全相同的POST请求,两天后它就会开始工作。
在Glacier中,检索非常少见且成本很高,因此不要期望在需要它们时总是可以随时获得它们。