0

Knox ライブラリを使用して PDF を S3 バケットにアップロードしようとしていますが、505 エラーが発生し続け、PDF が保存されません。私のコード:

// all of this works well
var knox = require('knox');
var client = knox.createClient(require('../path/to/config.js').knox);

client.putFile('tmp/file', '/prefix/key',
  function(err, res) {
    if (err) {
      console.log("Error PUTing file in S3:", err);
    }

    console.log("S3 RESPONSE:", res.statusCode); // returns 505
  }
);

誰が私が間違っているのかについての洞察を持っていますか? また、client.put(..) を使用して独自のヘッダーを設定しようとしましたが、同じ 505 応答が返されました。

4

2 に答える 2

0

これ自体は答えではなく、上記の 505 応答についてはまだ確信が持てませんが、Amazon が公開している AWS SDK は、誰かが Knox で同様の問題を抱えている場合にうまく機能します。上記は次のようになります。

var aws = require('aws-sdk');
aws.config.loadFromPath('./path/to/config.json');
var s3 = new aws.S3();

var params = { Bucket: 'your-bucket', 
               Key: 'your-key', 
               Body: fs.readFileSync('/path/to/file.pdf') };

s3.putObject(params, function(err, data) {
  if (err) {
    console.log("Error PUTing file:", err);
  }
  console.log("S3 RESPONSE:", data);
});
于 2013-05-04T15:17:23.147 に答える