我拉我的头发 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
变量中
所有尝试都会导致相同的错误。