lambda-lgtm

19
lambda-lgtm

Upload: yoshiaki-yoshida

Post on 05-Aug-2015

341 views

Category:

Technology


1 download

TRANSCRIPT

lambda-lgtm

遊んでたら GW 終わっちゃう

LT どうしよう

あ!そうだ

AWS Lambda

AWS Lambda3時間で

2014/11 AWS re:Invent 2014

AWS Lambda 発表

イベント駆動型 (S3, DynamoDB,

Kinesis, SNS, Cognito) インフラ管理なし オートスケーリング

東京リージョン 未リリース

良さそうじゃん?

Adroll : 600 億イベント / 1日

http://aws.amazon.com/jp/lambda/

S3 に画像を置いたら

自動的に LGTM 画像に 変換しちゃう

with AWS Lambda

ここを LGTM にする

・node-imagemagick

・GraphicsMagick

・詳しくは Blog で

var fs = require('fs'); var gm = require('gm'); var aws = require('aws-sdk'); var s3 = new aws.S3({apiVersion: '2006-03-01'});

exports.handler = function(event, context) {

var bucket = event.Records[0].s3.bucket.name; var key = event.Records[0].s3.object.key;

s3.getObject({ Bucket: bucket, Key: key }, function(err, data) { if (err) { context.done('get failed', err); } else { var contentType = data.ContentType; var extension = contentType.split('/').pop(); gm(data.Body) .options({ imageMagick: true }) .resize(480, 269) .fill("#81BD27") .drawText(200, 250, 'LGTM') .font('/usr/share/fonts/dejavu/DejaVuSans.ttf') .fontSize(40) .toBuffer(extension, function(err, stdout) { if (err) { context.done('resize and drawtext failed', err); } else { s3.putObject({ Bucket: 'lambda-image-lgtm', Key: key, Body: new Buffer(stdout, 'binary'), ContentType: contentType }, function(err, res) { if (err) { context.done('put failed', err); } else { context.done(); } }); } }); } });

};

さぁ! お待たせしました!

イケイケの LGTM 披露!

(;゚Д゚)エッ

(;゚Д゚)エッ

(;゚Д゚)エッ

クオリティ最低ワロタ

AWS Lambda だと

gm.fontSize() 効かないのナンデ?

AWS Lambda 未来感ある 様々な用途で使える データマーケティングに使える?(各自考えてw)

まとめ