Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS Lambda Node.js
Search
Haruyuk Mohri
May 04, 2017
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Lambda Node.js
Haruyuk Mohri
May 04, 2017
Other Decks in Programming
See All in Programming
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Workers Cache を知る
syumai
0
360
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
SREの越境 / SRE Collaboration
y0hgi
2
310
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Featured
See All Featured
From π to Pie charts
rasagy
1
400
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Writing Fast Ruby
sferik
630
63k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Statistics for Hackers
jakevdp
799
230k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Become a Pro
speakerdeck
PRO
31
6.3k
Transcript
AWS Lambda Node.js 4.3 NodeSchool Osaka #31 ⽑利春幸(haruyuki mohri)
⾃⼰紹介 • ⽑利春幸 • エンバカデロ・テクノロジーズ(元Borland)に勤務 • Delphi / C++Builder 統合開発環境の製造販売
• 趣味はドラムとかギターとかです。 • Twitter @haruyuk
AWS Lambda • いつでも呼び出し可能なサーバーレスな関数を作れます。 • 時間がかかりそうな処理をLambdaに任せてしまう事ができます。 • サーバー(VM)を⽴てる必要が無いのでサーバーメンテナンスが 不必要です •
使える⾔語(C#, JAVA, Node.js, Edge Node.js, Python2.7) • Node.jsは4.3が利⽤可能です。
AWS Lambda • 例 Webサーバ ・関数1() ・関数2() ・関数3() Lambda 処理スクリプト
↓ 重い処理 ↓ 完了
AWS Lambda + API Gateway • 例 API Gateway ・関数1()
・関数2() ・関数3() Lambda リソース ↓ 処理 ↓ 完了
AWS Lambda Create Function • Lambda ⼀番シンプルな作り⽅
AWS Lambda Create Function • ファンクション名を⼊れて完成です。
AWS Lambda Create Function • プログラム 「Hello from Lambda」 exports.handler
= (event, context, callback) => { // TODO implement callback(null, 'Hello from Lambda'); }; ʻHello from Lambdaʼと出⼒されます。
AWS Lambda Create Function • exports.handler の引数 • event イベントデータをハンドラーに渡します。
• context 実⾏中の Lambda 関数のランタイム情報を ハンドラーに提供 • callback 呼び出し元に情報を返すために使⽤
AWS Lambda exports.handler の引数 • event exports.handler = (event, context,
callback) => { // TODO implement callback(null, 'Hello from Lambda'); }; exports.handler = (event, context, callback) => { // TODO implement callback(null, event); };
AWS Lambda exports.handler の引数 • context exports.handler = (event, context,
callback) => { // TODO implement callback(null, 'Hello from Lambda'); }; exports.handler = (event, context, callback) => { // TODO implement callback(null, context); };
AWS Lambda +API Gateway+ C++Builder • 例 API Gateway ・test_function
Lambda リソース ↓ 処理 ↓ 完了 exports.handler = (event, context, callback) => { // TODO implement callback(null, event); }; 投げたデータをECHOする C++Builder
C++Builder(Embarcadero) • C++BuilderはTNetHTTPClientと⾔うコンポーネントがあり http / httpsに接続するコードは⾮常にシンプルに書けます。 std::unique_ptr<TNetHTTPClient> net_cliant_{new TNetHTTPClient(nullptr)}; http_
= net_cliant_->Post( "https://*.execute-api.ap-northeast-1.amazonaws.com/test-function", フォーム設計画⾯ iOS, Android, Windows ターゲットプラットフォームを 変更するだけ (Professional版以上の機能)
C++Builder(Embarcadero) • C++BuilderはTJSONObject::ParseJSONValue()があります event内容はすごく多くの情報がはいっています。 static_cast<TJSONObject*>(TJSONObject::ParseJSONValue( ms1->DataString)))->GetValue("body-json"); return static_cast<TJSONObject* >(value_)-> GetValue("value_")->Value();
{ "body-json": [ { "value_": "あいう" } ],
C++Builder(Embarcadero) • スターターエディション(無償) • https://www.embarcadero.com/jp/products/cbuilder/starter/promotional-download https://www.youtube.com/watch?v=_dLVLvdmkh0
C++Builder(Embarcadero) • お問合せ • https://www.embarcadero.com/jp/company/contact-us-japan
THANKS!