SlideShare a Scribd company logo
1 of 19
Download to read offline
lambda-lgtm
遊んでたら GW 終わっちゃう
LT どうしよう
あ!そうだ
AWS Lambda
AWS Lambda
3時
間
で
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)
まとめ

More Related Content

What's hot

AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのことAWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
真吾 吉田
 
ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介
Yasuhiro Araki, Ph.D
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義する
Sugawara Genki
 
AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月
Yasuhiro Horiuchi
 
Jawsday2015 lambda(なにができるの? EC2はもう不要?)
Jawsday2015 lambda(なにができるの? EC2はもう不要?)Jawsday2015 lambda(なにができるの? EC2はもう不要?)
Jawsday2015 lambda(なにができるの? EC2はもう不要?)
Shiraishi Masayuki
 

What's hot (20)

はじめてのAWS Lambda
はじめてのAWS LambdaはじめてのAWS Lambda
はじめてのAWS Lambda
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
 
AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのことAWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
 
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
 
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴
 
AWS Lambda + Go
AWS Lambda + GoAWS Lambda + Go
AWS Lambda + Go
 
20160404 jaws ugアーキテクチャ専門支部ハイブリッドクラウド分科会#4
20160404 jaws ugアーキテクチャ専門支部ハイブリッドクラウド分科会#420160404 jaws ugアーキテクチャ専門支部ハイブリッドクラウド分科会#4
20160404 jaws ugアーキテクチャ専門支部ハイブリッドクラウド分科会#4
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
 
ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介ログ解析をあきらめない、あるいはSumoLogicの紹介
ログ解析をあきらめない、あるいはSumoLogicの紹介
 
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
 
俺のLambda
俺のLambda俺のLambda
俺のLambda
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義する
 
前座Lambda
前座Lambda前座Lambda
前座Lambda
 
AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月
 
AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月AWS サービスアップデートまとめ 2013年9月
AWS サービスアップデートまとめ 2013年9月
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 
Jawsday2015 lambda(なにができるの? EC2はもう不要?)
Jawsday2015 lambda(なにができるの? EC2はもう不要?)Jawsday2015 lambda(なにができるの? EC2はもう不要?)
Jawsday2015 lambda(なにができるの? EC2はもう不要?)
 

Similar to lambda-lgtm

プログラマブルクラウドの薦め
プログラマブルクラウドの薦めプログラマブルクラウドの薦め
プログラマブルクラウドの薦め
Shinpei Ohtani
 

Similar to lambda-lgtm (20)

JAWS-UG静岡 #1 Introduction to AWS SDK for Ruby
JAWS-UG静岡 #1 Introduction to AWS SDK for RubyJAWS-UG静岡 #1 Introduction to AWS SDK for Ruby
JAWS-UG静岡 #1 Introduction to AWS SDK for Ruby
 
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみるAWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメ
 
GAS + SaaS時々 AWSで自動化
GAS + SaaS時々 AWSで自動化GAS + SaaS時々 AWSで自動化
GAS + SaaS時々 AWSで自動化
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
 
AWS Update 2011/10
AWS Update 2011/10AWS Update 2011/10
AWS Update 2011/10
 
Serverless services on_aws_dmm_meetup_20170801
Serverless services on_aws_dmm_meetup_20170801Serverless services on_aws_dmm_meetup_20170801
Serverless services on_aws_dmm_meetup_20170801
 
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
 
Leap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみるLeap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみる
 
プログラマブルクラウドの薦め
プログラマブルクラウドの薦めプログラマブルクラウドの薦め
プログラマブルクラウドの薦め
 
Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)
 
Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)
 
JAWS-UG 佐賀 re:Boot | AWS Greengrassと相性のいい♥ SORACOMサービス
JAWS-UG 佐賀 re:Boot | AWS Greengrassと相性のいい♥ SORACOMサービスJAWS-UG 佐賀 re:Boot | AWS Greengrassと相性のいい♥ SORACOMサービス
JAWS-UG 佐賀 re:Boot | AWS Greengrassと相性のいい♥ SORACOMサービス
 
Amazon Elasticsearch Serviceを利用したAWSのログ活用
Amazon Elasticsearch Serviceを利用したAWSのログ活用Amazon Elasticsearch Serviceを利用したAWSのログ活用
Amazon Elasticsearch Serviceを利用したAWSのログ活用
 
TypeScriptで書くLambdaをCDKでいい感じに管理する.pptx
TypeScriptで書くLambdaをCDKでいい感じに管理する.pptxTypeScriptで書くLambdaをCDKでいい感じに管理する.pptx
TypeScriptで書くLambdaをCDKでいい感じに管理する.pptx
 
Amazon Web Services
Amazon Web ServicesAmazon Web Services
Amazon Web Services
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web services
 
JAWS-UG 愛媛 第6回勉強会(Lambda)
JAWS-UG 愛媛 第6回勉強会(Lambda)JAWS-UG 愛媛 第6回勉強会(Lambda)
JAWS-UG 愛媛 第6回勉強会(Lambda)
 
JAWSUG_yokohama_10yrs
JAWSUG_yokohama_10yrsJAWSUG_yokohama_10yrs
JAWSUG_yokohama_10yrs
 
Aws sdk for java
Aws sdk for javaAws sdk for java
Aws sdk for java
 

More from Yoshiaki Yoshida

More from Yoshiaki Yoshida (12)

ChatOps with Hubot
ChatOps with HubotChatOps with Hubot
ChatOps with Hubot
 
PHP Application E2E with Capybara
PHP Application E2E with CapybaraPHP Application E2E with Capybara
PHP Application E2E with Capybara
 
Swagger 入門
Swagger 入門Swagger 入門
Swagger 入門
 
メタ勉強会 - カジュアルトーク駆動学習
メタ勉強会 - カジュアルトーク駆動学習メタ勉強会 - カジュアルトーク駆動学習
メタ勉強会 - カジュアルトーク駆動学習
 
Elasticsearch at Makuake
Elasticsearch at MakuakeElasticsearch at Makuake
Elasticsearch at Makuake
 
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をするDocker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をする
 
表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話
 
Qiita:Team を Hack しよう
Qiita:Team を Hack しようQiita:Team を Hack しよう
Qiita:Team を Hack しよう
 
peco 紹介
peco 紹介peco 紹介
peco 紹介
 
チーミングを通じて最強のチームを
チーミングを通じて最強のチームをチーミングを通じて最強のチームを
チーミングを通じて最強のチームを
 
Our Team moving forward with Qiita:Team
Our Team moving forward with Qiita:TeamOur Team moving forward with Qiita:Team
Our Team moving forward with Qiita:Team
 
"たいたにうむ"な1ヶ月間 @Titaniumもくもく会 #16
"たいたにうむ"な1ヶ月間 @Titaniumもくもく会 #16"たいたにうむ"な1ヶ月間 @Titaniumもくもく会 #16
"たいたにうむ"な1ヶ月間 @Titaniumもくもく会 #16
 

lambda-lgtm