【发布时间】:2015-05-03 22:38:02
【问题描述】:
我拉了 2 个小时的头发,试图找出发生了什么。我有 UnknownError 使用 AWSJavaScriptSDK 将文件上传到 AWS Glacier。
var AWS, buffer, config, glacier, params, vaultName;
AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: "KEY_ID",
secretAccessKey: "SECRETE",
region: "ap-southeast-2"
});
glacier = new AWS.Glacier();
vaultName = "arn:aws:glacier:ap-southeast-2:VAULT_ID:vaults/VAULT_NAME";
buffer = new Buffer(2.5 * 1024 * 1024);
params = {
vaultName: vaultName,
body: buffer
};
glacier.uploadArchive(params, function(err, data) {
if (err) {
return console.log("Error uploading archive!", err);
}
});
控制台中的结果如下:
Error uploading archive! { [UnknownError: 400]
message: '400',
code: 'UnknownError',
statusCode: 400,
time: Mon May 04 2015 00:03:20 GMT+1000 (AEST),
retryable: false,
retryDelay: 30 }
我试过了:
- 使用 root api 密钥和秘密(尝试排除权限问题)
- 没有设置api键或设置错误
- 从 fs.readFile 上传文件,而不是使用 Buffer
- 将
accountId: "-"包含到param变量中
所有尝试都会导致相同的错误。
【问题讨论】:
标签: node.js amazon-web-services amazon-glacier