更新:そのユーザーにフルアクセスポリシーのアクセス許可を追加した後、コマンドラインから機能するようになりました。Nodeでそれを行うと、エラーはありませんが、s3ファイルマネージャーにファイルが表示されません。
Amazon の S3 サービスを使用すると EPIPE エラーが発生し続けます。
私は少し立ち往生しており、どのように進めればよいかわかりません。
Knox モジュールで Node.js を使用しています。
これが私のコードです:
var client = knox.createClient({
key: amazonAccessKeyId,
secret: amazonSecretAccessKey,
bucket: amazonBucketName
});
function moveFiles() {
moveUploadedFile(req.files['aps-file'].path,'/aps-products.csv', this.parallel());
moveUploadedFile(req.files['perry-craft-roof-file'].path,'/perry-craft-roof-products.csv', this.parallel());
res.end('successful!');
}
function moveUploadedFile(srcPath, dstPath, callback) {
client.putFile(srcPath, dstPath, { 'x-amz-acl': 'public' }, function (err) {
if (err) {
callback(new Error("Error uploading file for " + dstPath + ": " + err.message), srcPath);
console.log(err);
return;
}
console.log('Finished writing file ' + dstPath + ' to Amazon S3 Cloud');
callback(null, srcPath);
});
}