Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Go言語と事例で学ぶAWS Lambda
yukpiz
October 17, 2018
Technology
3
880
Go言語と事例で学ぶAWS Lambda
JAWS-UG 初心者支部#14「AWS Night school & LT」
での発表資料です!
https://jawsug-bgnr.connpass.com/event/101789/
yukpiz
October 17, 2018
Tweet
Share
More Decks by yukpiz
See All by yukpiz
Go x AWSによるシンプルなサーバーレス実装
yukpiz
1
390
Go x AWSによるシンプルなサーバーレス実装
yukpiz
1
78
Golang Beginners!
yukpiz
0
86
Other Decks in Technology
See All in Technology
データベースの発表には RDBMS 以外もありますよ
maroon1st
0
210
RDS/Aurora バージョンアップのポイント
hmatsu47
PRO
8
1.5k
ERC3525 Semi-Fungible token
sbtechnight
0
320
聴覚障害のある大学生チームによる臆さない発言環境の形成
hayato_ukuk
0
1.7k
David Bernstein : Five Development Practices for Building Software with Scrum
kawaguti
PRO
5
6.7k
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
dzeyelid
0
150
AKIBA.SaaS資料
yasumuusan
0
150
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
kotatyamtema
1
520
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
160
Startup Studio Sereal / Culture Deck
sereal
0
580
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
5
1.1k
Pentesting Password Reset Functionality
anugrahsr
0
170
Featured
See All Featured
Statistics for Hackers
jakevdp
784
210k
Music & Morning Musume
bryan
36
4.6k
KATA
mclloyd
12
9.7k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Infographics Made Easy
chrislema
235
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
A Modern Web Designer's Workflow
chriscoyier
690
180k
Typedesign – Prime Four
hannesfritz
34
1.5k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Transcript
Go言語と事例で学ぶAWS Lambda Written by @yukpiz(redish Inc engineer) Oct 17, 2018
AWS Night School & LT
Agenda //\\\\\\ What’s AWS Lambda? //\\\\\\\ What’s golang? //\\\\\\\\ How
to use? //\\\\\\\\\ Example //\\\\\\\\\\ Exit
What’s AWS Lambda? //\\\\\\ サーバーレス/FaaSのワードで取り上げられる //\\\\\\\ 単体動作できる関数を実行できるサービス //\\\\\\\\ 関数は様々なイベントに発火して実行できる //\\\\\\\\\
CrowdWatch, SQS, API Gateway, DynamoDB //\\\\\\\\\\ apexやlamveryを使って簡単デプロイ! //\\\\\\\\\\\ Go, Node.js, Java, C#, Python
Agenda //\\\\\\ What’s AWS Lambda? //\\\\\\\ What’s golang? //\\\\\\\\ How
to use? //\\\\\\\\\ Example //\\\\\\\\\\ Exit
What’s golang? //\\\ 2012年にv1.0リリース(現在v1.11、go2のドラフト発表) //\\\\ 静的型付け言語、並列実行に強い、シンプルな構文 //\\\\\ コマンドラインツール、WebAPI、バッチ処理 //\\\\\\ AWS
Lambda、GAE/Go、Cloud Function(Coming soon!)
What’s golang? mainパッケージだとコマンドライン実行可能 標準で言語に含まれるパッケージでも、 利用するときはimportする mainパッケージの場合、 実行時にmain関数が呼び出される
Agenda //\\\\\\ What’s AWS Lambda? //\\\\\\\ What’s golang? //\\\\\\\\ How
to use? //\\\\\\\\\ Example //\\\\\\\\\\ Exit
How to use? Lambdaが実行されると呼び出されます Lambdaが実行されると呼び出される関数を指定
How to use? ハンドラは引数にコンテキストとイベントソースを受けられる
How to use? //\\\\\\ context.Context //\\\\\\\ Lambda関数の実行に関する情報 //\\\\\\\\ - タイムアウトの残り時間
//\\\\\\\\\ - 実行時のメモリ制限 //\\\\\\\\\\ - 実行時の関数名 //\\\\\\\\\\\ - etc
How to use? //\\\\\\ events.* //\\\\\\\ 関数が発火したイベントの情報 //\\\\\\\\ - DynamoDBに登録されたデータオブジェクト
//\\\\\\\\\ - API Gatewayが呼び出された時のリクエスト //\\\\\\\\\\ - S3で発生したイベント、ファイルの情報等 //\\\\\\\\\\\ - etc
Agenda //\\\\\\ What’s AWS Lambda? //\\\\\\\ What’s golang? //\\\\\\\\ How
to use? //\\\\\\\\\ Example //\\\\\\\\\\ Exit
Agenda - DynamoDBに配信時間になるまで格納 - 時間になったら最初のLambdaが発火 - SQSで分散して配信を処理 - 失敗した配信はキューに数日間残す -
数千〜数万ユーザーへの一斉配信を数分で実行
Agenda //\\\\\\ What’s AWS Lambda? //\\\\\\\ What’s golang? //\\\\\\\\ How
to use? //\\\\\\\\\ Example1 //\\\\\\\\\\ Exit
Exit //\\\\\\ Lambdaめっちゃ便利! //\\\\\\\ サーバーは用意せずに何かを動かしたい //\\\\\\\\ 個人用途だとSlack BOTやクローラーに使ってます //\\\\\\\\\ 是非、皆さんも使ってみてください!
Exit - エンジニアの登壇を応援する会 - 10月26日(金) - 執筆の技術を勉強する会 - https://techplay.jp/event/700825
Exit Thank you! Written by @yukpiz Special Thanks! The Go
gopher was designed by Renée French. Free gophers: https://github.com/egonelbre/gophers