restify (または express ) で REST サービス API を提供したい
- サービスの義務は、オーディオ/mpeg またはその他の
バイナリ ファイルをサーバーに送信し、認証を検証し、
合格した場合はファイルを Amazon s3 に送信し、s3 クライアントの
応答ステータス コードを確認するクライアントに任せることです。 statusCode == 200 、
何かをする
solution1 : リクエスト ストリーム パイプを使用して、knox によってファイルを amazon に配置する
var stream = s3.put(filepath, {options});
serverReq.pipe(stream);
stream.on('response', function(err, s3Res) {
if (err) { console.log(err); }
if (s3Res.statusCode == 200) { store file infos on DB}
}
解決策2:formdiableとfsを使用してサーバーのローカル一時フォルダーにファイルを事前に保存し、knoxによってファイルをAmazonに配置します
(after pre store file on server local temp folder)
s3.putFile(sourcePath, destPath, {options}, function(err, _res) {
(clear local files from local temp folder)
if (err) { return next(err); }
if (_res.statusCode == 200) {console.log('save on %s', s3.url(dest))}
res.send(_res.statusCode);
return next();
});
解決策 1 と解決策 2 のどちらの方法が優れているか、または他のより良い方法は?? ここで、知っておく必要のあるパフォーマンスの問題はありますか?