S3の画像ファイルを表示する以外何もしない単純なwebアプリ。
nodeパッケージ
$ npm install express@4.9.8
$ npm install jade
$ npm install aws-sdk
aws-sdk
用設定
$HOME/.aws/credentials
[default]
aws_access_key_id = XXXX
aws_secret_access_key = XXXX
テンプレート
views/index.jade
doctype html
html
body
img(src='./fig.png')
アプリケーション
index.js
var express = require('express');
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
var aws = require('aws-sdk');
var region = 'ap-northeast-1';
var s3 = new aws.S3({region:region});
app.get('/', function (req, res) {
res.render('index');
});
app.get('/fig.png', function (req, res) {
bucket= 'BUCKET';
key = 'fig.png';
s3.getObject({Bucket:bucket, Key:key},
function(err,data) {
if (err) {
// some error handling
}
else {
res.send(data.Body);
}
}
);
});
var PORT = 8080;
app.listen(PORT);
$ node index.js
ポートは任意。$IP_ADDRESS:8080
で画像が表示される。